[英]SQL Server query to get count value each day
我需要计算给定时间段之间每天的活动数量。 这是我尝试过的方法,但它会计算给定时间段内的事件总数。 我需要计算每天的金额。 在一个查询中可以做到这一点吗? 例如:2016-01-01-> 2,2016-01-02-> 1等
SELECT count(ID)as events
FROM table
WHERE VehicleName='testvehicle'
AND DueDate IS NOT NULL
AND DueDate >= '2016-01-01'
AND DueDate <= '2016-12-31'
任何帮助,将不胜感激。
我认为您只需要一个group by
:
SELECT DueDate, count(ID) as events
FROM table
WHERE VehicleName = 'testvehicle' AND
DueDate >= '2016-01-01' AND DueDate <= '2016-12-31'
GROUP BY DueDate;
注意:表达式DueDate IS NOT NULL
是多余的。 如果比较失败DueDate
是NULL`。
您必须使用group by
。 它是一种聚合功能,可以按一个或多个列对结果集进行分组。 此处有更多详细信息: http : //www.tutorialspoint.com/sql/sql-group-by.htm
SELECT count(ID) as events
FROM table
WHERE VehicleName = 'testvehicle'
AND DueDate BETWEEN '2016-01-01' AND '2016-12-31'
GROUP BY DueDate;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.