选择日期范围内的记录计数SQL

问题描述:

我正在寻找选择每天提供的表格中的评论数。例如,我想查看2016年11月20日至2016年11月19日期间每天的评论数。选择日期范围内的记录计数SQL

我已经探讨了这个想法一段时间,这只是我写的基本代码来获得一天,但我期待在日期范围内动态地做到这一点。

DECLARE @Date VARCHAR(250) 
SET @Date = '2016-11-23' 

SELECT  
    COUNT(*), 
    @Date 
FROM CRA_METRO2_REJECT_COMMENTS RC 
WHERE 
    CONVERT(DATE, RC.comment_date) IN (CONVERT(DATE, @Date)) 

难道有人指着我正确的方向吗?

+0

什么类型是'RC.comment_date' –

BWS的帮助是我的解决方案。

DECLARE @StartDate VARCHAR(250) 
DECLARE @EndDate VARCHAR(250) 
SET @StartDate = '2016-11-23' 
SET @EndDate = '2016-11-29' 

SELECT 
    CONVERT(DATE, RC.comment_date), 
    COUNT(*) 
FROM CRA_METRO2_REJECT_COMMENTS RC 
WHERE CONVERT(DATE, RC.comment_date) BETWEEN CONVERT(DATE, @StartDate) AND CONVERT(DATE, @EndDate) 
GROUP BY CONVERT(DATE, RC.comment_date) 
ORDER BY CONVERT(DATE, RC.comment_date) 

你应该尝试一个更简单的方法:

SELECT RC.comment_date, COUNT(*) 
FROM CRA_METRO2_REJECT_COMMENTS RC 
GROUP BY RC.comment_date 
ORDER BY RC.comment_date 

这应该不管什么格式的COMMENT_DATE使用工作。