[php] sort probleem datum/geen datum

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • pdehoop
  • Registratie: September 1999
  • Laatst online: 04-06-2024
Ik zit met een sort probleem.

Ik heb een tabel met records, waar onder andere een datum in kan staan, opgeslagen in unix tijd, dus zo'n getal.

Nu zijn er ook records die geen datum daar hebben staan.

Als ik nu een sort doe, waarbij ik de datum oplopend wil hebben, dus de eerste datum die eraan komt bovenaan, dan komen eerst de records waar geen datum is ingevuld, daarna pas de records met wel een datum.

Als de datum niet is ingevuld is dat een NULL waarde.

Wat ik wil, is dat de eerstvolgende datum bovenin komt en aan het eind pas de records zonder datum.

Nu kan dit natuurlijk door twee aparte queries, maar kan dit ook met eentje?

Acties:
  • 0 Henk 'm!

  • SuperRembo
  • Registratie: Juni 2000
  • Laatst online: 20-08 14:36
Als de datum NULL is moet je de waarde vervangen door de hoogst mogelijke waarde in die kolom. Ik heb hier 2^31-1=2147483647 voor genomen, maar de precieze waarde zou je nog even na moeten kijken. Die hangt ook van jouw tabel af.
SQL:
1
2
3
SELECT *
FROM MyTable
ORDER BY IFNULL(Datum, 2147483647)

| Toen / Nu


Acties:
  • 0 Henk 'm!

  • pdehoop
  • Registratie: September 1999
  • Laatst online: 04-06-2024
thnx, het werkt uiteraard.

geen idee of die waarde van jou ook bij mij goed zou zijn, maar denk niet dat ik een max heb, maar goed, dat merk ik dan wel weer.

merci ;)

Acties:
  • 0 Henk 'm!

  • SuperRembo
  • Registratie: Juni 2000
  • Laatst online: 20-08 14:36
Gaan maximum? Een uit dit rijtje. Ik neem aan dat je type INT gebruikt.
TypeBytesFromTo
TINYINT1-128127
SMALLINT2-3276832767
MEDIUMINT3-83886088388607
INT4-21474836482147483647
BIGINT8-92233720368547758089223372036854775807

| Toen / Nu


Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

Ik vind dat niet erg netjes, moet ik eerlijk zeggen. Die waarde zou je helemaal niet nodig moeten hebben.

SQL:
1
2
3
4
5
6
7
SELECT
   *
FROM
   daTable
ORDER BY
   Datum IS NULL,
   Datum


edit:
oh ja, en voeg natuurlijk ASC en DESC toe waar nodig

[ Voor 15% gewijzigd door drm op 21-01-2004 18:41 ]

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

  • SuperRembo
  • Registratie: Juni 2000
  • Laatst online: 20-08 14:36
Hmm, ja. Dat is wel netter.

| Toen / Nu


Acties:
  • 0 Henk 'm!

  • pdehoop
  • Registratie: September 1999
  • Laatst online: 04-06-2024
hehe, werkt prima.

merci again :P
Pagina: 1