With rollup 按类型算总数,插入一行算附加汇总列

coalesce 如果有输出,没有就写后面的字符串

select * from material order by name,color
select coalesce(name, '狗狗总数'),coalesce(color,'同名'),sum(num) from material
group by name,color with rollup

效果

数据的插入

CREATE TABLE material(
pid INT PRIMARY KEY IDENTITY(1,1),
name VARCHAR(100),
color VARCHAR(50),
num INT
);
INSERT INTO material(name,color,num)
SELECT 'ball','red',12
UNION ALL
SELECT 'ball','red',24
UNION ALL
SELECT 'cat','yellow',13
UNION ALL
SELECT 'ball','yellow',13
UNION ALL
SELECT 'dog','yellow',13
UNION ALL
SELECT 'cat','black',4
UNION ALL
SELECT 'cat','white',5
发布了82 篇原创文章 · 获赞 19 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/n20164206199/article/details/104904543
今日推荐