Avatar billede supermand69 Nybegynder
16. november 2004 - 12:59 Der er 5 kommentarer og
1 løsning

order by virker ikke helt

jeg har en query her:

    $sql = "SELECT track.*, SUM(user_top5.points) AS points, hitlist.last_week
        FROM ($DB.eb_track track
            LEFT JOIN $DB.eb_user_top5 user_top5 ON track.id=user_top5.track_id)
        LEFT JOIN $DB.eb_hitlist hitlist ON track.id=hitlist.track_id
        WHERE user_top5.time>$exceed_time
        GROUP BY track.id
        ORDER BY points DESC, hitlist.last_week";

ved ikke lige om man kan overskue meningen i det? men hvis points er ens skal den sortere efter last_week, men KUN hvis last_week er over 0
Avatar billede majkat Nybegynder
16. november 2004 - 16:12 #1
ORDER BY points DESC, IF(hitlist.last_week>0, hitlist.last_week, 9999999)

Det vil lægge de poster hvor last_week>0 først, og dem hvor den er mindre eller lig 0 til sidst. Du skal så godt nok checke værdien af last_week når du får resultaterne og bestemme dig for hvad du vil gøre med dem hvor den er <=0.
Avatar billede supermand69 Nybegynder
16. november 2004 - 17:49 #2
jeg er ikke helt med? synes ikke det virker rigtigt? :(
Avatar billede supermand69 Nybegynder
16. november 2004 - 17:51 #3
den sorterer dem stadig ikke korrekt hvis points er identiske
Avatar billede supermand69 Nybegynder
17. november 2004 - 15:33 #4
nu smider den godt nok dem hvor last_week er 0 til sidst, men dem hvor den er noget er bare i tilfældig rækkefølge
Avatar billede supermand69 Nybegynder
17. november 2004 - 15:35 #5
her er min nuværende query

$sql = "SELECT track.*, SUM(user_top5.points) AS points, hitlist.last_week
        FROM ($DB.eb_track track
            LEFT JOIN $DB.eb_user_top5 user_top5 ON track.id=user_top5.track_id)
        LEFT JOIN $DB.eb_hitlist hitlist ON track.id=hitlist.track_id
        WHERE user_top5.time>$exceed_time
        GROUP BY track.id
        ORDER BY points DESC, IF(hitlist.last_week>0, hitlist.last_week, 999)";
Avatar billede supermand69 Nybegynder
28. november 2004 - 16:51 #6
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester