Här ser du en variant... sen borde man kunna prova pilla till det med MAX och MIN http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=57391 En ide som jag tände på är att lagra alla 2009-04-21 ........ i en Double. Kanske något sånt här (för SQLServer)Slå ihop datum
Jag har en sammling datum från en loggning som jag skulle vilja slå ihop till mer hanterbar datamängd
ex
datum; antal
2009-04-21 05:00:00; 1
2009-04-21 05:01:00; 1
2009-04-21 05:02:00; 1
2009-04-21 05:03:00; 1
2009-04-21 05:04:00; 1
2009-04-21 05:05:00; 1
2009-04-21 05:06:00; 1
2009-04-21 05:07:00; 1
osv....
önskat - var tredje minut
från; till; tot antal
2009-04-21 05:00:00; 2009-04-21 05:03:00; 4
2009-04-21 05:04:00; 2009-04-21 05:07:00; 4
osv....
Är det möjligt? Sv: Slå ihop datum
*edit*
Jag vet dock inte hur denna returnerar svaren om den slår ihop alla minuter oavsettt datum...Sv:Slå ihop datum
DVS du adderar alla från den 21:a och lägger dom i en Double.
Ex. 2009-04-21 05:00:00 skulle då bli 39924.2083333333
Addera alla från den dagen och återfå dom genom att dividera med det antal som finns den dagen.
<code>
Dim DayAndTime As Double
DayAndTime = CDate("2009-04-21 05:00:00") 'blir 39924.20833.....
</code>Sv: Slå ihop datum
WITH PerPeriod AS (
SELECT DATEDIFF(minute, datum, {d'2000-01-01'})/3 AS Period, SUM(antal) AS Total
FROM tabell
GROUP BY DATEDIFF(minute, datum, {d'2000-01-01'})/3
)
SELECT DATEADD(minutes, Period*3, {d '2000-01-01'}), DATEADD(minutes, Period*3+3, {d '2000-01-01'}), Total
FROM PerPeriod