ORDER BY Problem
am 19.12.2007 17:31:04 von Ben Butschko
Moin,
ich habe ein ORDER BY PRoblem:
Das Resultset wird nicht "korrekt" sortiert ASC oder DESC. Dennoch ist
IMO meine Abfrage und Sortierbedingung korrekt.
Das ist mein Ergebnis:
3.090591002403612
1.7499601996186656
9.48818027973175E-5
9.48818027973175E-5
9.48818027973175E-5
Warum kommt der erste Eintrag VOR dem 2? 3 ist > 1!
Wo ist nun genau der Fehler zu suchen?
Netten Gruß
Ben
Hier ist mein SQL (unnötige AND Bedingungen habe ich entfernt):
--
SELECT
MIN((6367.41*SQRT(2*(1-cos(RADIANS(geo_data.lat))*cos(0.9484 95441519)*(sin(RADIANS(geo_data.lon))*
sin(0.17655030031)+cos(RADIANS(geo_data.lon))*cos(0.17655030 031))-sin(RADIANS(geo_data.lat))*sin(0.948495441519)))))
AS pr_distance
FROM table_2
JOIN table_1 ON (table_2.userid = table_1.userid)
LEFT JOIN table_3 ON (table_2.userid = table_3.userid AND table_2.userid
= table_3.userid)
LEFT JOIN geo_data ON (table_1.zip = geo_data.zip)
WHERE table_2.insid = '31'
AND (6367.41*
SQRT(2*(1-cos(RADIANS(geo_data.lat))*cos(0.948495441519)*(si n(RADIANS(geo_data.lon))*sin(0.17655030031)+cos(RADIANS(geo_ data.lon))*
cos(0.17655030031))-sin(RADIANS(geo_data.lat))*sin(0.9484954 41519))) <=
10)
GROUP BY table_1.userid
ORDER BY pr_distance DESC LIMIT 0,10
--
Re: ORDER BY Problem
am 19.12.2007 17:37:37 von Johannes Mueller
Ben Butschko wrote:
> ich habe ein ORDER BY PRoblem:
>
> Das Resultset wird nicht "korrekt" sortiert ASC oder DESC. Dennoch ist
> IMO meine Abfrage und Sortierbedingung korrekt.
>
> Das ist mein Ergebnis:
>
> 3.090591002403612
> 1.7499601996186656
> 9.48818027973175E-5
> 9.48818027973175E-5
> 9.48818027973175E-5
>
> Warum kommt der erste Eintrag VOR dem 2? 3 ist > 1!
Genau, deswegen ist er vorne!
3 > 1.7 > 0.0000948
Grüße
Johannes
--
Emails ohne "[nospam]" im Betreff werden kommentarlos gelöscht.
Re: ORDER BY Problem
am 19.12.2007 17:45:02 von Ben Butschko
"Johannes Mueller" schrieb im Newsbeitrag
news:5ssvmkF1aav6jU1@mid.uni-berlin.de...
> Genau, deswegen ist er vorne!
>
> 3 > 1.7 > 0.0000948
>
Das verstehe ich nicht: wie kann 3 > 9 oder 1.7 > 9 sein?
Re: ORDER BY Problem
am 19.12.2007 17:48:16 von Ben Butschko
"Johannes Mueller" schrieb im Newsbeitrag
news:5ssvmkF1aav6jU1@mid.uni-berlin.de...
> Genau, deswegen ist er vorne!
>
> 3 > 1.7 > 0.0000948
>
Ah, alles klar...Da ich die pr_distance nur für die ORDER BY brauche,
reicht im select ein ROUND(MIN....., 1);
Danke :-)
Re: ORDER BY Problem
am 19.12.2007 18:09:17 von Sebastian Suchanek
Ben Butschko schrieb:
> "Johannes Mueller" schrieb im Newsbeitrag
> news:5ssvmkF1aav6jU1@mid.uni-berlin.de...
>> Genau, deswegen ist er vorne!
>>
>> 3 > 1.7 > 0.0000948
>
> Das verstehe ich nicht: wie kann 3 > 9 oder 1.7 > 9 sein?
>
Da steht nicht "9", sondern "9.48818027973175E-5".
Du solltest Dich kundig machen, was eine Exponentialdarstellung einer
Zahl bedeutet: http://de.wikipedia.org/wiki/Exponentialdarstellung
HTH,
Sebastian