我正在写一个小查询,它可以建立每月行数&年,以模仿您在Google Analytics中看到的行为。按日期范围筛选的mssql
这是我的查询:
USE MyDatabase;
SELECT
COUNT(*) AS Rows,
DATENAME(mm, OpenDate) AS Month,
DATENAME(yyyy, OpenDate) AS Year
FROM MyTable
WHERE Priority = 1
GROUP BY DATENAME(mm, OpenDate), DATENAME(yyyy, OpenDate)
ORDER BY Year, Month DESC;
我不清楚,我怎么会在这个查询申请的日期范围过滤器。
- 我应该用
HAVING
还是WHERE
? - 我需要为我的变量使用完全形成的日期时间字符串吗?或者我是按年份和月份分别过滤的,因为我有这些列?
WHERE OpenDate> = @ Date1和OpenDate <= @ Date2'?这不正常吗? – Taryn
因为他使用的是GROUP BY,所以我期望:'具有OpenDate BETWEEN @ Date1和@ Date2'会起作用。 – SQLHound
谢谢,你们俩。但我应该为'date1'和'date2'变量填入完整的日期时间字符串吗? – Kristian