34,590
社区成员
发帖
与我相关
我的任务
分享
select 品名, SUM(数量) 数量, 单价, SUM(数量)*单价 as 总额
from @order group by 品名,单价
---------------------------------
-- Author: liangCK 小梁
-- Date : 2008-11-14 16:15:32
---------------------------------
--> 生成测试数据: @order
DECLARE @order TABLE (品名 VARCHAR(4),数量 INT,单价 NUMERIC(3,2),总额 NUMERIC(3,2))
INSERT INTO @order
SELECT '香烟',2,2.00,4.00 UNION ALL
SELECT '香烟',2,2.00,4.00 UNION ALL
SELECT '香烟',2,2.00,4.00 UNION ALL
SELECT '啤酒',1,3.00,3.00 UNION ALL
SELECT '啤酒',1,3.00,3.00 UNION ALL
SELECT '啤酒',1,3.00,3.00
--SQL查询如下:
SELECT 品名,
SUM(数量) AS 数量,
AVG(单价) AS 单价,
SUM(总额) AS 总额
FROM @order
GROUP BY 品名
/*
品名 数量 单价 总额
---- ----------- --------------------------------------- ---------------------------------------
啤酒 3 3.000000 9.00
香烟 6 2.000000 12.00
(2 行受影响)
*/
select 品名,sum(数量) as 数量,max(单价) as 单价,sum(总额) as 总额
from order
group by 品名
select 品名,数量=sum(数量),单价=max(单价),总额=sum(总额) from order group by 品名