我在分组语句时遇到错误。这里是我的代码SQL中关键字'GROUP'附近的语法错误
DECLARE @avg_volume INT
SELECT @avg_volume = ISNULL(AVG(Total_Volume), 0)
FROM (SELECT station_id ,
DATEPART(Year, date_time) AS YEAR ,
DATEPART(month, date_time) AS MONTH ,
CONVERT(DATE, date_time) AS DATE ,
DATENAME(weekday, date_time) AS weekday ,
SUM(volume) AS Total_volume
FROM rvtcs_data_aggregated_hourly
GROUP BY station_id ,
CONVERT(DATE, date_time) ,
DATEPART(month, date_time) ,
DATEPART(Year, date_time) ,
DATENAME(weekday, date_time)
)
GROUP BY station_id ,
CONVERT(DATE, date_time) ,
DATEPART(month, date_time) ,
DATEPART(Year, date_time) ,
DATENAME(weekday, date_time)
ORDER BY DATEPART(Year, date_time) ,
DATEPART(month, date_time) ,
CONVERT(DATE, date_time)
SELECT @avg_volume
我所试图做的是,采取从卷组的总和由一组条件(内查询),作为
station_id YEAR MONTH DATE weekday Total_volume
7 2013 2 2013-02-21 Thursday 192
7 2013 2 2013-02-27 Wednesday 2699
7 2013 2 2013-02-28 Thursday 196
2 2013 3 2013-03-07 Thursday 192
7 2013 3 2013-03-07 Thursday 192
现在我想,这将给结果取平均值。任何援助都会有所帮助。
我的表主表
station_id date_time volume
7 2013-02-21 00:00:00.000 96
7 2013-02-21 01:00:00.000 96
7 2013-02-27 00:00:00.000 356
7 2013-02-27 00:00:00.000 410
7 2013-02-27 00:00:00.000 471
7 2013-02-27 00:00:00.000 530
7 2013-02-27 00:00:00.000 338
7 2013-02-27 00:00:00.000 211
7 2013-02-27 00:00:00.000 159
7 2013-02-27 00:00:00.000 128
7 2013-02-27 00:00:00.000 96
7 2013-02-28 00:00:00.000 96
7 2013-02-28 01:00:00.000 100
7 2013-03-07 00:00:00.000 96
2 2013-03-07 00:00:00.000 96
2 2013-03-07 01:00:00.000 96
7 2013-03-07 01:00:00.000 96
所需的输出:
station id year month weekday average_volume
7 2013 2 Thursday 194
消息207,级别16,状态1,行17 无效的列名'date_time'。这是当我运行你的查询得到的,注意:我有同名的那个列@sathesh – bibinmatthew