webForumDet fria alternativet

Välja ut det senaste datumet?

Databaser & SQLur Databashanterare & SQL

7 svar · 383 visningar · startad av clacke

Medlem sedan feb. 2003234 inlägg
Frågan#1

Jag vill välja ut det senaste datumet från tabellen "faktura_datum". Med MAX på något vis? Eller?
Har följande kod, tacksam för hjälp!

sql4="SELECT faktura_id,faktura_status, anv_id, faktura_datum FROM faktura where anv_id = "& anvandare &" and faktura_status!='Betald' group by anv_id;"
set rs4=conn.execute(sql4)
Medlem sedan juni 200032 969 inlägg
#2

Tre frågor:

  1. Varför har du GROUP BY med i SQL-frågan?
  2. Vad gäller det för dbms?
  3. Har du missat att det finns ett SQL-forum?

mvh

Medlem sedan feb. 2003234 inlägg
#3

1. därför jag hade testat med MAX(faktura_datum) och då måste det vara group by med.
2. mysql
3. ja :-)
Om jag kortar ner koden lite då!

sql4="SELECT faktura_datum FROM faktura where anv_id = "& anvandare &" and faktura_status!='Betald';"
set rs4=conn.execute(sql4)
Medlem sedan juni 200032 969 inlägg
#4

Oki!

jag hade nog gjort så här:

sql4="SELECT faktura_id,faktura_status, anv_id, faktura_datum FROM faktura where anv_id = "& anvandare &" and faktura_status!='Betald' ORDER BY faktura_datum DESC LIMIT 1"
set rs4=conn.execute(sql4)

därför jag hade testat med MAX(faktura_datum) och då måste det vara group by med.

Det är fel på MySQL som tillåter det. Alla kolumner ska vara med i GROUP BY om man använder någon funktion som Max().

mvh

Medlem sedan feb. 2003234 inlägg
#5

TACK! Det funkade, men vad stå LIMIT 1 för?
Om jag ville ha det äldsta datumet istället då?
Hur skulle det sett ut?

Medlem sedan dec. 200012 464 inlägg
#6
sql4="SELECT faktura_id,faktura_status, anv_id, faktura_datum FROM faktura where anv_id = "& anvandare &" and faktura_status!='Betald' ORDER BY faktura_datum LIMIT 1"
set rs4=conn.execute(sql4)

Limit begränsar antalet returnerade poster.

Flyttas från ASP.

Medlem sedan juni 200032 969 inlägg
#7

LIMIT 1 begränsar resultatet till en post. Om du vill ha den äldsta posten så byter du bara sorteringsordning:

ORDER BY faktura_datum [b]ASC[/b] LIMIT 1"

(ASC kan du utelämna, då det är default sorteringsordning, men jag brukar ha med det för tydlighetens skull.)

mvh

Medlem sedan feb. 2003234 inlägg
#8

Ok, man tackar!

138 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)