SELECT语句如何用一条语句实现在对部分列SUM的基础上再对其它列进行AVG
示例如下,有一个表,主键有三列,对其中一列SUM,一列AVG,一列显示:
CREATE TABLE [dbo].[u_team] (
[id_1] varchar(16) NOT NULL,
[id_avg] varchar(16) NOT NULL,
[id_sum] varchar(16) NOT NULL,
[the_sum] [numeric](18,2) NULL,
PRIMARY KEY (id_1, id_avg, id_sum)
) ON [PRIMARY]
GO
正常需要这样实现
SELECT id_1, AVG(the_sum) AS the_sum
FROM (SELECT id_1, id_avg, SUM(the_sum) AS the_sum FROM u_team
GROUP BY id_1, id_avg) v_temp
GROUP BY id_1
但因为多次用到这类查询语句,所以最好是能只用一次SELECT的语句来实现(建视图更不可取),列的语法复杂无所谓,只要不需两次SELECT就成。
各位有没有更好的方法?