我已经生成了一个表,但希望按日期计算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
答案 0 :(得分: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
子句中的日期逻辑。