Avatar billede supermand69 Nybegynder
13. juli 2006 - 00:38 Der er 3 kommentarer og
1 løsning

en ORDER BY mere

Jeg har en query her:

SELECT online.user_id, user.name, user.sex, user.pic, user.zip, user.area, user_fav.fav, DATE_FORMAT(FROM_DAYS(TO_DAYS(NOW())-TO_DAYS(user.birth)), '%Y')+0 AS age, user_attrib.att_admin
FROM ($DB.online online, $DB.user user
LEFT JOIN $DB.user_fav user_fav ON '$USERID'=user_fav.user_id && online.user_id=user_fav.fav)
LEFT JOIN $DB.user_attrib ON user.id=user_attrib.user_id
WHERE online.user_id=user.id
ORDER BY user_attrib.att_admin DESC, user.name

Den virker såmænd helt som den skal, bare lige på nær i ORDER BY.. Den sætter fint att_admin først, men dernæst kommer name i en vilkårlig rækkefølge
eks. p..., j..., k...

Hvis man så ændrer linjen order by til:
ORDER BY user.name
bliver det igen sorteret korrekt abc
Avatar billede jaw Nybegynder
13. juli 2006 - 00:41 #1
ORDER BY user_attrib.att_admin DESC, user.name ASC
Avatar billede arne_v Ekspert
13. juli 2006 - 00:41 #2
den sorterer vel fint på user.name for alle de rækker hvor user_attrib.att_admin er ens ?
Avatar billede supermand69 Nybegynder
13. juli 2006 - 01:06 #3
user_attrib.att_admin er 1 eller NULL
Avatar billede supermand69 Nybegynder
13. juli 2006 - 01:07 #4
men jeg har nu lige forsøgt mig med et eksempel fra forrige spm

ORDER BY IF(user_attrib.att_admin>0, 0, 1), user.name

nu sorterer den vist fint :)
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