webForumDet fria alternativet

sortering/gruppering efter datum

6 svar · 438 visningar · startad av Toonster

ToonsterMedlem sedan feb. 20001 590 inlägg
#1

Skulle vilja ha lite hjälp med en SQL-sats. Har tyvärr inte Access på datorn jag sitter vid denna vecka, så jag kan inte "leka" med frågorna där...

Hursomhelst, jag vill sortera informationen efter datum (fält av datatypen datum) Där kommande datum listas först, sedan datum som passerat, och jag vill göra det med en SQL fråga. Misstänker att det blir någon eller några GROUP BY, men får inte till det riktigt.

Så här vill jag ha det:

2004-07-10 Ledningsmöte
2004-07-15 Kontrollgruppen
2004-07-20 Utvecklingsmöte
2004-06-10 Utvecklingsmöte (*)
2004-06-05 Utvecklingsmöte (*)
2004-05-10 Gruppledarmöte (*)

(*) datum passerat

Jag vill alltså gruppera där kommande datum listas först i stigande ordning, sedan passerade datum i fallande ordning

Tricky?

magnusfernstromMedlem sedan mars 20033 686 inlägg
#2

Vill du sortera i ordning helt enkelt?

Eller är jag dum nu? :)

ToonsterMedlem sedan feb. 20001 590 inlägg
#3

Ja och nej, kolla in exemplet jag gjorde ovan.

LarsGMedlem sedan dec. 200012 464 inlägg
#4

Group by har inget med sortering att göra.

order by iif(datum >= date(),0,1),
iif(datum >= date(),datum,date()) asc,
iif(datum >= date(),date(),datum) desc
ToonsterMedlem sedan feb. 20001 590 inlägg
#5

Okey, ska kolla in det där, ser ut att funka. Danke!

FuelMedlem sedan okt. 20001 285 inlägg
#6

hmm .. får inte till det .. ska ha grupperat det som kommer

år månad dag
- ( tid H:I ) Event blah blah
- ( tid H:I ) Event blah blah
- ( tid H:I ) Event blah blah
- ( tid H:I ) Event blah blah

gärna spegelvänt ovan för .. dvs

             \- ( 17:00 ) Event blah blah
             \- ( 19:00 ) Event blah blah
             \- ( 20:00 ) Event blah blah

2007 12 12

2008 01 36
- ( 15:00 ) Event blah blah
- ( 19:00 ) Event blah blah
- ( 19:30 ) Event blah blah
- ( 21:15 ) Event blah blah

Det är väl mest sql satsen som är problemet .. tror jag

FuelMedlem sedan okt. 20001 285 inlägg
#7

ah... gjorde en enkel grej..

$aaaaa = "0";
for($i=0; $i<count($events); $i++) 
{
    $eeeee = date ("Y m d",$events[$i]['event_start_time']);
			
    if ($aaaaa != $eeeee)
    {
        $ret .= "<li>".$eeeee."</li>";
        $aaaaa = $eeeee;
    }
    etc...
    return $ret
127 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)