Heej,

ik heb deze sql:

$sql="SELECT * FROM users ORDER by lastvisit desc";


nu geeft hij bovenaan als eerste die met de meest recente datum, maar ik wil nu ook dat je de laatst recente datum bovenaan kan laten zetten.

Hoe laat ik hem dan sorteren?

Erik.
Even voor de duidelijkheid:

Je hebt een table met bijvoorbeeld 4x een record die aangemaakt is op 11 september 2009 (wel op verschillende momenten aangemaakt) en je wilt dus de eerste record die op 11 september 2009 aangemaakt is (De oudste van vandaag) als eerste uit je DB krijgen?

BTW: waarom wil je dit zo hebben?
ja. ik sla ze in database als now() op, dus met uren/min erbij :)

dus bijv: 2009-09-11 16:18:43. Maar nu haalt hij automatisch door deze sql aan te roepen de nieuwste er als eerste uit:
$sql="SELECT * FROM users ORDER by lastvisit desc";

maar ik wil nu de oudste, dus de mensen die er het laatste geweest zijn, boven aan komen,

waarom? Is om te kijken hoe actief mensen zijn :p
DESC maak daarvan ASC
Okeee :-)

Dit werkt gewoon:

SELECT DATE_FORMAT(`lastvisit`,'%H:%i:%s') AS `time`,DATE_FORMAT(`lastvisit`,'%Y-%m-%d') AS `day`
FROM `user`
ORDER BY `day` DESC, `time` ASC

Even een uitleg van de SQL query

SELECT = ga ik niet uitleggen :x
DATE_FORMAT(`lastvisit`,'%H:%i:%s') AS `time` = DB format de `lastvisit` kolom naar een tijd string, bijvoorbeeld: 12:00:01 (HH:ii:ss) en slaat deze string op in `time`
DATE_FORMAT(`lastvisit`,'%Y-%m-%d') AS `day` = DB format de `lastvisit` kolom naar een datum string, bijvoorbeeld: 2009-09-11 (YYYY-mm-dd) en slaat deze string op in `day`
FROM `user` = van de juiste tabel
ORDER BY `day` DESC, `time` ASC = Sorteer de `day` aflopend en de `time` oplopend.

Hoop je hiermee te hebben geholpen

Edit: @SanThe: Ik heb niet voor niks om de duidelijkheid van de vraag gevraagd...
SanThe dankje :)

en Leon.. dat is helemaal top :) ik zal het gaan inplanteren :) dankje (K)
Bedoel je niet gewoon LIMIT 1?

Reageren