选择日期范围内的记录计数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))
难道有人指着我正确的方向吗?
答
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使用工作。
什么类型是'RC.comment_date' –