我一直在想办法通过SQL查询从数据库中检索一些数据。我试图以编程方式避免这样做。
基本上源表是
ID,日期时间,计数
我希望获得该时段内每个不同ID的定义时段DateTime的计数总和。
任何人的想法?
答案 0 :(得分:3)
you want a GROUP BY for this
select ID, sum(Count) as Sum
from yourTable
where DateTime between startDate and endDate
group by ID
答案 1 :(得分:2)
尝试这样的事情:
select ID, sum(Count)
from foo
where [DateTime] between @beginning and @end
group by ID;
这假设您有两个变量,@beginning
和@end
,其类型为DateTime
。
答案 2 :(得分:2)
对于日期,您应该使用> =和&lt ;,使用句点的开头和下一个句点的开头,如下所示:
WHERE [DateTime] >= @StartPeriod AND [DateTime] < @StartNextPeriod
..制作整件事:
SELECT ID, SUM(Count) AS Cnt
FROM dbo.someTable
WHERE [DateTime] >= @StartPeriod AND [DateTime] < @StartNextPeriod
GROUP BY ID;
否则,您可能会遗失某些内容或包含太多内容。
答案 3 :(得分:1)
SELECT ID, SUM(Count)
FROM yourTable
WHERE DateTime => '2009-10-01' AND DateTime < '2009-11-01'
GROUP BY ID;