2017-06-05 79 views
2

我試圖計算兩個日期之間的差異,並嘗試計算出現頻率的相同查詢。計算兩個日期之間的差異並計算出現次數

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

首先這看起來不像MySQL而是SQL Server。其次,你不能使用Count()函數中的別名。而是說count(*)

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

它是SQL服務器。是的,我意識到這一點,但不知道這樣做的最佳方式。 – Suzy

+0

謝謝Rahul,通過修改group by子句解決了這個問題。 – Suzy

1

無法通過別名組:

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