webForumDet fria alternativet

Hämta största intervallet mellan datum

4 svar · 201 visningar · startad av Rocket

RocketMedlem sedan feb. 2000372 inlägg
#1

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
#2

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
#3

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
#4

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
RocketMedlem sedan feb. 2000372 inlägg
#5

Danke.

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