计算两个日期之间的差异并计算出现次数

时间:2017-06-05 08:42:15

标签: sql sql-server

我正在尝试计算两个日期之间的差异,并在同一查询中尝试计算出现的频率。

SELECT DATEDIFF(day,[Date1],[Date2]) AS 'Mydate'
     , count ([Mydate])    
  FROM Table1
 group 
    by 'Mydate'  

我希望查询能够计算和计算,但会收到错误消息"每个GROUP BY表达式必须包含至少一个不是外部引用的列。" 我期待的是,像这样:

Mydate  Count
0        5
1        4
2        5
是的,有人能帮帮我吗?感谢

2 个答案:

答案 0 :(得分:2)

首先,这看起来不像MySQL而是SQL Server。其次,你不能在Count()函数中使用别名。而是说count(*)

  SELECT DATEDIFF(day,[Date1],[Date2]) AS 'Mydate', 
         Count (*)    
    FROM Table1
GROUP BY DATEDIFF(day,[Date1],[Date2])  

答案 1 :(得分:1)

您不能按别名分组:

SELECT 'Mydate', Cnt
FROM   (SELECT DATEDIFF(day, [Date1], [Date2]) AS 'Mydate', 
               Count(*) Cnt
        FROM   Table1) T1
GROUP BY 'Mydate'