Chrispinius42 Skrevet 13. februar 2009 Del Skrevet 13. februar 2009 Hei, kunne trengt litt hjelp med en spørring. Skal hente ut en liste med aid, header og avstand. Problemet er at jeg får ut samme aid og header flere ganger pga de har flere forskjellige avstander tilknyttet seg, jeg vil kun ha de ut engang med den nærmeste avstanden. Spørringen jeg har ser slik ut: SELECT DISTINCT article_tbl.aid, header, ((ACOS(SIN(60.3938* PI() / 180) * SIN(lat * PI() / 180) + COS(60.3938 * PI() / 180) * COS(lat * PI() / 180) * COS((5.3100 - lng) * PI() / 180)) * 180 / PI()) * 60 * 1.1515) AS distance FROM art_has_loc_tbl, article_tbl WHERE art_has_loc_tbl.aid = article_tbl.aid ORDER BY distance ASC Og får da følgende resultat: 153 test 0.0528555455730331 152 Studentsenteret - innbrudd igjen 0.452067792359317 151 Stor konsert pÃ¥ Koengen 0.556482656767487 150 Mobilenin ved UiB 0.615952300900184 148 Hei verden! 0.620065606434088 152 Studentsenteret - innbrudd igjen 0.636795407422177 152 Studentsenteret - innbrudd igjen 1.12548722925125 152 Studentsenteret - innbrudd igjen 4.37202829852531 Noen som har forslag til forbedring av spørringen? Lenke til kommentar
G2Petter Skrevet 13. februar 2009 Del Skrevet 13. februar 2009 (endret) Fungerer dette? SELECT DISTINCT article_tbl.aid, header, MIN(((ACOS(SIN(60.3938* PI() / 180) * SIN(lat * PI() / 180) + COS(60.3938 * PI() / 180) * COS(lat * PI() / 180) * COS((5.3100 - lng) * PI() / 180)) * 180 / PI()) * 60 * 1.1515)) AS distance FROM art_has_loc_tbl, article_tbl WHERE art_has_loc_tbl.aid = article_tbl.aid ORDER BY distance ASC GROUP BY article_tbl.aid, header Endret 13. februar 2009 av G2Petter Lenke til kommentar
Chrispinius42 Skrevet 17. februar 2009 Forfatter Del Skrevet 17. februar 2009 Fungerer dette? else if ($_GET['dist'] == "alt"){ $query = mysql_query("SELECT DISTINCT *, ((ACOS(SIN($lat * PI() / 180) * SIN(lat * PI() / 180) + COS($lat * PI() / 180) * COS(lat * PI() / 180) * COS(($lon - lng) * PI() / 180)) * 180 / PI()) * 60 * 1.1515) AS distance FROM art_has_loc_tbl, article_tbl WHERE art_has_loc_tbl.aid = article_tbl.aid AND article_tbl.published_state = 1 ORDER BY distance ASC"); } while ($array = mysql_fetch_array($query)) { $finnArtstuff = mysql_query("SELECT DISTINCT article_tbl.* FROM article_tbl, art_has_loc_tbl WHERE article_tbl.aid = $array[aid] GROUP BY article_tbl.aid"); $stuff = mysql_fetch_array($finnArtstuff); Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå