在1中组合多个SQL查询

时间:2012-11-03 05:07:38

标签: sql sql-server

我有点想尝试结合几个查询。 我得到的是包含统计数据和对另一个表的引用的表。

获取统计报告我正在运行(简短版本):

SELECT COUNT(id) 
from [Actions] 
where date between '2012-01-01 00:00:00' AND '2012-01-01 23:59:59' 
  AND [Action]='request'

问题是,如果我想在指定的时间段内获取每日统计信息,该查询应如何显示?我知道如果我更改开始日期和结束日期,我将获得整个指定期间的统计数据,而不是按天分组。我错过了什么?

1 个答案:

答案 0 :(得分:3)

在消除时间部分之后只需GROUP BY date

SELECT 
  CONVERT(VARCHAR(10), [date], 121) ByDay, COUNT(id) 
FROM [Actions] 
WHERE date BETWEEN '2012-01-01 00:00:00' AND '2012-01-01 23:59:59' 
  AND [Action]='request'
GROUP BY CONVERT(VARCHAR(10), [date], 121)