Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[SQL] ORDER BY met meerdere kolommen

Pagina: 1
Acties:

  • Raffy
  • Registratie: September 2003
  • Laatst online: 27-06 16:13
Voor onderstaande query wil ik een order by uitvoeren die betrekking heeft op meerdere kolommen.

De query die ik nu heb maar niet doet wat ik wil is:

code:
1
2
3
4
5
6
7
8
SELECT R.id, R.name, R.company, R.tel, R.prio, R.date, R.time, P.prio_name
                FROM ds_recall AS R 
    LEFT JOIN ds_prio AS P
     ON R.prio = P.id
    WHERE ready = 0 
    ORDER BY R.prio DESC,
      R.date ASC,
      R.time ASC


Wat hij moet doen is het volgende: Hij moet als eerste sorteren op ".R.prio" daarna moet er gesorteerd worden op "R.date" en als laatste op "R.time"

iemand een idee hoe ik dit wel voorelkaar krijg? Dus wat doe ik fout?

  • whoami
  • Registratie: December 2000
  • Laatst online: 13:42
.heropend.

Wat gaat er dan precies verkeerd ?
Hoe ziet je output er uit ?
Heb je wel de juiste data-types gebruikt bij het definieren van je columns ? Toon eens het CREATE TABLE statement dat je gebruikt hebt om die tabel te maken, of toon eens voor ieder veld wat het data-type is dat je gebruikt hebt.

[ Voor 189% gewijzigd door whoami op 08-03-2008 22:02 ]

https://fgheysels.github.io/


  • Raffy
  • Registratie: September 2003
  • Laatst online: 27-06 16:13
Er komt geen syntak error.

wat ik als output krijg is het volgende:


Prio______date_____ time

2________0________00:00:00
2________39514____00:06:58
2________39514____00:08:15
2________39514____00:09:28
1________0________00:00:00
1________39514____00:09:35
1________39514____00:12:29
1________39514____00:40:58
1________39514____08:47:58
0________39513____23:42:38
0________39513____23:46:01
0________39513____23:49:52
0________39513____23:50:45
0________39513____23:51:33
0________39513____23:53:50
0________39514____00:03:53



Hierin is te zien dat Prio goed gaat maar date en time gaan niet goed.

Dit is de uitkomst van deze query:

code:
1
2
3
4
5
SELECT R.id, R.name, R.company, R.tel, R.prio, R.date, R.time, P.prio_name
FROM ds_recall AS R
LEFT JOIN ds_prio AS P ON R.prio = P.id
WHERE ready = 0
ORDER BY R.prio DESC , R.date, R.time

[ Voor 14% gewijzigd door Raffy op 08-03-2008 22:22 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 13:42
Ik zie niet in wat er niet goed aan gaat .... Het is de output zoals je zelf wil hebben volgens je ORDER BY clause.
prio aflopend sorteren, en date & time oplopend.

https://fgheysels.github.io/


  • Raffy
  • Registratie: September 2003
  • Laatst online: 27-06 16:13
whoami schreef op zaterdag 08 maart 2008 @ 22:29:
Ik zie niet in wat er niet goed aan gaat .... Het is de output zoals je zelf wil hebben volgens je ORDER BY clause.
prio aflopend sorteren, en date & time oplopend.
Er zat een fout in de data wat in de DB zit.
Hierdoor leek het of mijn query niet goed ging maar die gaat perfect.

Alsnog bedankt.

  • whoami
  • Registratie: December 2000
  • Laatst online: 13:42
:?
Als je alles aflopend wil gesorteerd zien, is je query gewoon verkeerd.

https://fgheysels.github.io/


  • Raffy
  • Registratie: September 2003
  • Laatst online: 27-06 16:13
Hij draait nu zoals ik het wil :D ik had alleen even geen reknening gehouden met prio0. Die komt eigenlijk niet voor maar er zat nog oude test data in... 8)7
Pagina: 1