RocketMedlem sedan feb. 2000372 inlägg Jag har en databas där jag sparar information om olika dagar. Nu vill jag gå igenom alla dagarna som finns representerade och även dem som finns mellan dessa, t.ex.
2003-01-05
2003-01-07
2003-01-10
2003-01-25
Så vill jag alltså skriva ut en rad för varje datum mellan 5 och 25 januari 2003.
Jag tänkte att det är bäst att först kolla hur många dagar det skiljer mellan det nyaste och det äldsta datumet, alltså det största intervallet mellan två datum. Hur gör man detta på smidigaste sätt, gärna allt i samma SQL-sats.
Jo, det är ju också bra om man kan få intervallet i dagar.
LarsGMedlem sedan dec. 200012 464 inlägg Vad har du för nytta av det? (Så vitt jag förstår så går det inte att få till en sådan fråga i Mysql.)
RocketMedlem sedan feb. 2000372 inlägg Ok, det kanske inte går. Då frågar jag om en annan sak :)
Hur gör jag för att se vilken datum det finns flest av?
Av nedanstående datum vill jag alltså få ut 2003.01.29, eller ännu bättre antalet av den som det finns flest av.
2003.01.11
2003.01.15
2003.01.20
2003.01.29
2003.01.29
Det är ju inte svårt att göra det om man först hämta alla unika datum och sedan räknar hur många det finns av varje och hela tiden sparar det största resultatet. Går det att göra smidigare med färre frågor.
LarsGMedlem sedan dec. 200012 464 inlägg Om tabellen heter t och kolumnen med datum i heter dates så får du både och så här:
select count(*) as numbreOfDates,dates
from t
group by dates
order by numberOfdates desc
limit 1