/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
Sortere efter dato i MySQL
Fra : Morten K. Nielsen


Dato : 19-10-05 17:23

Hej!

Jeg er ikke en haj til SQL/PHP, så nogen ville måske have lavet dette
anderledes. Men jeg har lavet en lille event-kalender, hvor resultaterne
skal vises på hjemmesiden efter dato. Indtil nu har jeg brugt denne
sql-streng:

SELECT ugedag, dag, maaned, tid, overskrift, tekst, billede FROM kalender
ORDER BY id DESC

Det giver jo ikke nogen dato-sortering... Hvordan kan jeg sortere på feltet
maaned og dernæst feltet dag (som begge indeholder tal)?

På forhånd tak

Venlig hilsen Morten



 
 
Martin Christensen (19-10-2005)
Kommentar
Fra : Martin Christensen


Dato : 19-10-05 17:54

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

"Morten K. Nielsen" <mkn@NOSPAMofir.dk> writes:

> SELECT ugedag, dag, maaned, tid, overskrift, tekst, billede FROM
> kalender ORDER BY id DESC
>
> Det giver jo ikke nogen dato-sortering... Hvordan kan jeg sortere på
> feltet maaned og dernæst feltet dag (som begge indeholder tal)?

Se, det du _burde_ have gjort, var at angive tiden i blot ét felt, fx
af typen datetime. Det vil på alle måder gøre dit liv lettere. Et
tidspunkt, inklusivt dato, er jo trods alt kun ét datum.

Hvis du imidlertid ikke er interesseret i at lave om på din tabel, kan
du bruge følgende forespørgsel:

SELECT ugedag, dag, maaned, tid, overskrift, tekst, billede
FROM kalender
ORDER BY maaned, dag DESC;

Håber det hjælper.

Martin
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using Mailcrypt+GnuPG <http://www.gnupg.org>

iEYEARECAAYFAkNWehwACgkQYu1fMmOQldW0yACg3IMDrXMxkj2dn/8ALCZgjGkM
CH0AoLd4cRtq9Z5Y7BZkl2PrUe/tO6oU
=PfQo
-----END PGP SIGNATURE-----

Morten K. Nielsen (19-10-2005)
Kommentar
Fra : Morten K. Nielsen


Dato : 19-10-05 20:56

> Se, det du _burde_ have gjort, var at angive tiden i blot ét felt, fx
> af typen datetime. Det vil på alle måder gøre dit liv lettere. Et
> tidspunkt, inklusivt dato, er jo trods alt kun ét datum.

Ok, så lærte jeg da så meget

> Hvis du imidlertid ikke er interesseret i at lave om på din tabel, kan
> du bruge følgende forespørgsel:
>
> SELECT ugedag, dag, maaned, tid, overskrift, tekst, billede
> FROM kalender
> ORDER BY maaned, dag DESC;

Tak for det, det prøver jeg lige



Peter Brodersen (19-10-2005)
Kommentar
Fra : Peter Brodersen


Dato : 19-10-05 23:14

On Wed, 19 Oct 2005 18:53:52 +0200, Martin Christensen
<martin.sand.christensen@gmail.com> wrote:

> ORDER BY maaned, dag DESC;

ORDER BY maaned DESC, dag DESC;

... velsagtens. Ellers er det stigende efter måned og faldende efter
dag (fx 31/1, 20/1, 8/1, 27/2, 22/2, 2/2, 25/3, 10/3, etc...)

--
- Peter Brodersen

Søg
Reklame
Statistik
Spørgsmål : 177580
Tips : 31968
Nyheder : 719565
Indlæg : 6409083
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste