ASC vraagje
ik heb een vraagje over ASC. Ik lees op het moment de laatste 10 records uit mijn database werkt allemaal goed. hij geeft het zo weer
12/04
13/04
13/04
Alleen wil ik dat die juist 13/04 als eerste geeft. hoe krijg ik dit voor elkaar?
dit is de query die ik nu gebruik
DESC
Code (php)
1
SELECT postid,text,DATE_FORMAT(datum, '%d-%m') AS datum FROM comment ORDER BY datum DESC LIMIT 10
Dit geeft terug
31-07
07-05
06-08
met
Code (php)
1
SELECT postid,text,DATE_FORMAT(datum, '%d-%m') AS datum FROM comment ORDER BY datum ASC LIMIT 10
krijg ik dit terug:
02-08
05-08
06-08
Gewijzigd op 01/01/1970 01:00:00 door arend b
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
SELECT postid,text,DATE_FORMAT(datum, '%d-%m') AS datums FROM comment ORDER BY datum ASC LIMIT 10
07-05
31-07
05-08
En met DESC de andere kant op.
02-08
05-08
06-08
maar dan moet hij ze op deze manier geven:
06-08
05-08
02-08
SELECT postid,text,DATE_FORMAT(datum, '%d-%m') AS datums FROM comment ORDER BY datum DESC LIMIT 10
hierdoor komen de nieuwste items bovenaan. Want je gaat van recent naar oud oftewel DESCENDING..
edit: je query berekent overigens ook alleen de dagen en maanden en NIET de jaartallen. Dus als je het ook op jaartallen wil hebben gesorteerd moet je bij (datum, '%d-%m-%y') plaatsen. Op deze manier sorteert ie als het goed is, zoals je wil
Gewijzigd op 01/01/1970 01:00:00 door Pieter Jansen
Merijn schreef op 06.08.2008 01:45:
Nee, dat is niet waar, je sorteert op de originele datum en niet op de string die je met de functie DATE_FORMAT() hebt aangemaakt. Het maakt dus niet uit wat er in deze string staat (let op: string en géén datum!), er wordt gesorteerd op een datum. En een datum heeft ook een jaartal, genoemd probleem bestaat dus niet.edit: je query berekent overigens ook alleen de dagen en maanden en NIET de jaartallen. Dus als je het ook op jaartallen wil hebben gesorteerd moet je bij (datum, '%d-%m-%y') plaatsen. Op deze manier sorteert ie als het goed is, zoals je wil
Dit is precies de reden waarom een alias een andere naam dan het origineel moet hebben. Kun je de alias opvragen en het origineel gewoon weer gebruiken voor andere doeleinden in de query, bv. sorteren.
SELECT postid,text,DATE_FORMAT(datum, '%d-%m') AS datums FROM comment ORDER BY datum DESC LIMIT 10
deze werkt