sql 存储过程中合并2条行的数据
表Test 字段(ID主键,WZMC,ShuLiang) 表中数据不止这两条数据,主要的用处是查询表中数据做个排行的,其中NO为自己as的,
例如: NO WZMC ShuLiang
1 鼠标 500
2 鼠标 200
合并后: NO WZMC ShuLiang
1 鼠标 700
我已写好的存储过程:
SELECT ROW_NUMBER() OVER (ORDER BY ShuLiang DESC) AS NO,WZMC,SUM(ShuLiang)AS ShuLiang FROM dbo.Test where 1=1
麻烦各位大虾在这基础上帮我改下,谢啦
------解决方案--------------------聚合函数 + groupby 不就可以了吗?
------解决方案--------------------
你给的是语句,不是存储过程
语句给你改了一下。
SQL code
IF EXISTS (SELECT 1 FROM SYSOBJECTS WHERE name = 'tba')
BEGIN
DROP TABLE tba
END
GO
CREATE TABLE tba
( NO INT,
WZMC VARCHAR(10),
ShuLiang INT
)
GO
INSERT INTO tba
SELECT 1, '鼠标', 500 UNION
SELECT 2, '鼠标', 200
SELECT NO=ROW_NUMBER() OVER (ORDER BY A.shuliang), A.* FROM (SELECT WZMC,SUM(ShuLiang) AS shuliang
FROM tba
GROUP BY WZMC) AS A