20. juli 2004 - 17:14
Der er
10 kommentarer og 1 løsning
order by
Følgende SQL: SELECT id, dato, navn FROM foobar ORDER BY dato DESC Giver følgende (i rækkefølge): ID DATO NAVN 21 2004-07-20 bob 22 2004-07-20 alice 20 2004-07-08 carol Det er bare ikke så godt, for så bliver "bob" vist før "alice", selvom "alice" skrev sidst i databasen (se ID). Er der en måde hvor jeg kan sortere efter dato desc og id asc i samme select ? Jeg vil være lidt træt af at skulle tilføje en type mere.. (og ovenstående er bare eksemplificeret).
Annonceindlæg fra Trustworks
Tillid i en Zero-Trust verden
Med voksende trusler, nye EU-krav og øget kompleksitet er cybersikkerhed nu en central ledelsesopgave på linje med strategi og økonomi.
SELECT id, dato, navn FROM foobar ORDER BY dato,id DESC
SELECT id, dato, navn FROM foobar ORDER BY id AND dato DESC
SELECT id, dato, navn FROM foobar ORDER BY dato DESC AND id
Hvorfor ikke bare: ORDER BY dato DESC,id ASC ?
Iøvrigt lyder sidste del af spørgsmålet som om: ORDER BY id DESC måske er det du ønsker
Arne, du har ret (17:25:51) - men MySQL vil ikke adlyde ordre. SELECT id, dato, navn FROM Opslag ORDER BY dato DESC, id DESC LIMIT 0, 7 Giver: 98 2020-07-20 rgh 97 2020-07-20 Søren 102 2004-07-20 weg 101 2004-07-20 rtyrty 100 2004-07-20 f23f23f 99 2004-07-20 ewf 1 2004-07-08 Merete
jamiros: Det giver id i stigende rækkefølge. cpufan: (17:19:04) giver fejl. Det er muligvis ikke korrekt SQL syntaks.
Arne: SELECT id, dato, navn FROM Opslag ORDER BY id DESC , dato DESC LIMIT 0, 7 Giver det korrekte. Giv et svar.
20. juli 2004 - 18:10
#10
OK men da id vel er unikt ville jeg have forventet at ORDER BY id DESC , dato DESC og ORDER BY id DESC gav det samme ....
20. juli 2004 - 18:26
#11
Det er først fra id > N at det giver problemer. For id <= N er dato ikke i korrekt rækkefølge (i forhold til id), derfor også sortering på dato.
Computerworld tilbyder specialiserede kurser i database-management