繁体   English   中英

SQL Server查询每天获取计数值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM