计算两个日期之间的差异并计算出现次数
问题描述:
我试图计算两个日期之间的差异,并尝试计算出现频率的相同查询。计算两个日期之间的差异并计算出现次数
SELECT DATEDIFF(day,[Date1],[Date2]) AS 'Mydate'
, count ([Mydate])
FROM Table1
group
by 'Mydate'
我期待查询来计算和计数,但得到一个错误消息“每个GROUP BY表达式必须至少包含一列不是外部引用。” 我所预料到的是,这样的事情:
Mydate Count
0 5
1 4
2 5
有人能帮助我吗?谢谢
答
首先这看起来不像MySQL
而是SQL Server
。其次,你不能使用Count()
函数中的别名。而是说count(*)
SELECT DATEDIFF(day,[Date1],[Date2]) AS 'Mydate',
Count (*)
FROM Table1
GROUP BY DATEDIFF(day,[Date1],[Date2])
答
无法通过别名组:
SELECT 'Mydate', Cnt
FROM (SELECT DATEDIFF(day, [Date1], [Date2]) AS 'Mydate',
Count(*) Cnt
FROM Table1) T1
GROUP BY 'Mydate'
它是SQL服务器。是的,我意识到这一点,但不知道这样做的最佳方式。 – Suzy
谢谢Rahul,通过修改group by子句解决了这个问题。 – Suzy