2016-11-19 109 views
-1

我已經有一個表格已經生成過了,但是想通過按日期計算TAILNO來進行分組。但是我只能得到每天所有tailno的總下載量,而不是每個tailno。有人可以幫助這一點,也沒有辦法把列TAILNO代碼以及代碼:根據約會和計數對每一行進行分組

Select CAST(FlightDate AS DATE) AS DATING, count(*) AS TOTALDOWNLOAD 
from [base].[dbo].[FlightOperations] 

WHERE FlightDate >= CONVERT(DATE, dateadd(dd,datediff(dd,0, GetDate()- 7), 0),111) 

--- dd means day 

GROUP BY CAST(FlightDate AS DATE) 

表:

DATING  TAILNO 
-------------------------------------- 
2016-11-11 024 
2016-11-14 024 
2016-11-14 024 
2016-11-14 024 
2016-11-15 024 
2016-11-15 024 
2016-11-16 024 
2016-11-16 024 
2016-11-16 024 
2016-11-16 024 
2016-11-16 024 
2016-11-16 024 
2016-11-17 024 
2016-11-17 024 
2016-11-17 024 
2016-11-17 024 
2016-11-11 030 
2016-11-12 030 
2016-11-12 030 
2016-11-12 030 
2016-11-12 030 
2016-11-13 030 
2016-11-13 030 
2016-11-15 030 
2016-11-15 030 
2016-11-15 030 
2016-11-15 030 
2016-11-15 030 
2016-11-16 030 
2016-11-16 030 
2016-11-16 030 
2016-11-16 030 
2016-11-16 030 
2016-11-17 030 
2016-11-17 030 
2016-11-18 030 
2016-11-11 057 
2016-11-11 057 
2016-11-11 057 
2016-11-14 057 
2016-11-14 057 
2016-11-14 057 
2016-11-15 057 
2016-11-15 057 
2016-11-15 057 
2016-11-16 057 
2016-11-16 057 
2016-11-16 057 
2016-11-17 057 
2016-11-17 057 
2016-11-17 057 
2016-11-11 058 
2016-11-11 058 
2016-11-14 058 
2016-11-14 058 
2016-11-14 058 
2016-11-15 058 
2016-11-15 058 
2016-11-17 058 
2016-11-17 058 
2016-11-11 125 
2016-11-11 125 
2016-11-11 125 
2016-11-12 125 
2016-11-13 125 
2016-11-14 125 
2016-11-14 125 
2016-11-14 125 
2016-11-15 125 
2016-11-15 125 
2016-11-15 125 
2016-11-16 125 
2016-11-17 125 
2016-11-17 125 
2016-11-14 185 
2016-11-14 185 
2016-11-15 185 
2016-11-15 185 
2016-11-15 185 
2016-11-15 185 
2016-11-16 185 
2016-11-16 185 
2016-11-16 185 
2016-11-17 185 
2016-11-17 185 
2016-11-17 185 
2016-11-17 185 
2016-11-11 190 
2016-11-13 190 
2016-11-13 190 
2016-11-13 190 
2016-11-14 190 
2016-11-14 190 
2016-11-14 190 
2016-11-14 190 
2016-11-15 190 
2016-11-15 190 
2016-11-15 190 
2016-11-16 190 
2016-11-16 190 
2016-11-17 190 
2016-11-17 190 
2016-11-17 190 
2016-11-18 190 
2016-11-11 216 
2016-11-11 216 
2016-11-14 216 
2016-11-14 216 
2016-11-14 216 
2016-11-14 216 
2016-11-15 216 
2016-11-15 216 
2016-11-15 216 
2016-11-16 216 
2016-11-17 216 
2016-11-17 216 
2016-11-11 237 
2016-11-11 237 
2016-11-11 237 
2016-11-14 237 
2016-11-15 237 
2016-11-15 237 
2016-11-15 237 
2016-11-16 237 
2016-11-16 237 
2016-11-16 237 
2016-11-17 237 
2016-11-17 237 
2016-11-18 237 
2016-11-11 241 
2016-11-11 241 
2016-11-14 241 
2016-11-14 241 
2016-11-14 241 
2016-11-15 241 
2016-11-15 241 
2016-11-15 241 
2016-11-15 241 
2016-11-15 241 
2016-11-17 241 
2016-11-17 241 
2016-11-17 241 
2016-11-17 241 
2016-11-18 241 
2016-11-18 241 
2016-11-18 241 
2016-11-11 250 
2016-11-11 250 
2016-11-12 250 
2016-11-14 250 
2016-11-14 250 
2016-11-14 250 
2016-11-15 250 
2016-11-15 250 
2016-11-15 250 
2016-11-16 250 
2016-11-16 250 
2016-11-16 250 
2016-11-16 250 
2016-11-17 250 



DATING   TOTALDOWNLOAD TAIL NO 
--------------------------------------------- 
2016-11-11   1    024   
2016-11-14   3    024 
2016-11-15   2    024 
2016-11-16   6    024 
2016-11-17   4    024 

2016-11-11   1    030   
2016-11-12   4   030 
2016-11-13   2    030 
2016-11-15   5    030 
2016-11-16   5    030 
2016-11-17   2    030 
2016-11-18   1    030 
+2

將tailno添加到您的select和group by子句中。 –

回答

1

開始與此查詢:

Select CAST(FlightDate AS DATE) AS DATING, 
     TailNo, count(*) AS TOTALDOWNLOAD 
from [base].[dbo].[FlightOperations] 
where FlightDate >= CONVERT(DATE, GetDate() - 7) 
group by CAST(FlightDate AS DATE), TailNo 
order by CAST(FlightDate AS DATE) 

這將有一行每日期和每TailNo。請注意,我還簡化了WHERE條款中的日期邏輯。

+1

可能要更新GROUP BY – MatBailie

+0

謝謝Gordon。我已經改變了你的代碼,但仍然使用你的方法,我註釋掉了哪裏,並且因爲我之前將表分隔爲DATING,最終代碼是;選擇DATING,Tailno, count [*]從[base] AS DATE),尾號 CAST訂購(DATING AS DATE) – great77

相關問題