求SQL中的统计语句。
时间:2011-08-24
来源:互联网
有如下数据表,想统计某段日期内大、中、小规格的产量及产品的总产量。请问各位大侠如何写代码?先谢谢了。
日期 品名 规格 数量
2011-8-01 A 大 50
2011-8-02 A 中 80
2011-8-02 B 大 60
2011-8-02 C 小 40
... ... ... ...
2011-8-03 A 小 30
2011-8-03 B 中 70
2011-8-03 C 中 90
2011-8-20 A 小 10
2011-8-20 C 大 80
日期 品名 规格 数量
2011-8-01 A 大 50
2011-8-02 A 中 80
2011-8-02 B 大 60
2011-8-02 C 小 40
... ... ... ...
2011-8-03 A 小 30
2011-8-03 B 中 70
2011-8-03 C 中 90
2011-8-20 A 小 10
2011-8-20 C 大 80
作者: sxtgwj 发布时间: 2011-08-24
SQL code
--建表 CREATE TABLE Ttable([Ddate] datetime,[Cname] varchar(10),[CSize] varchar(20),Quantit numeric(10,2)) --写入测试数据到表 INSERT Ttable SELECT '2011-8-01', 'A' ,'大', 50 UNION ALL SELECT '2011-8-02', 'A', '中', 80 UNION ALL SELECT '2011-8-02', 'B', '大', 60 UNION ALL SELECT '2011-8-02' ,'C', '小', 40 UNION ALL SELECT '2011-8-03' ,'A', '小', 30 UNION ALL SELECT '2011-8-03' ,'B', '中', 70 UNION ALL SELECT '2011-8-03', 'C', '中', 90 UNION ALL SELECT '2011-8-20', 'A', '小', 10 UNION ALL SELECT '2011-8-20', 'C', '大', 80 --统计 select Cname as 品名,sum(q1) as 大,sum(q2) 中,sum(q3) as 小,sum(q1) +sum(q2) +sum(q3) as 合计 from ( SELECT Cname, Q1=SUM(CASE CSize WHEN '大' THEN Quantit else 0 END), q2=SUM(CASE CSize WHEN '中' THEN Quantit else 0 END), q3=SUM(CASE CSize WHEN '小' THEN Quantit else 0 END) FROM Ttable where Ddate>='2011-8-01' and Ddate<='2011-8-20' GROUP BY Cname) a GROUP BY Cname ---结果: --------------------------------------- 品名 大 中 小 合计 ---------------------------------------- A 50.00 80.00 40.00 170.00 B 60.00 70.00 .00 130.00 C 80.00 90.00 40.00 210.00
作者: GDTOPONE 发布时间: 2011-08-24
SQL code
SELECT 品名, SUM(CASE 规格 WHEN '大' THEN Quantit else 0 END) 大, SUM(CASE 规格 WHEN '中' THEN Quantit else 0 END) 中, SUM(CASE 规格 WHEN '小' THEN Quantit else 0 END) 小, SUM(Quantit) 总产量 FROM 表A where 日期 between '2011-8-01' and '2011-8-20' GROUP BY 品名
作者: kaikai_kk 发布时间: 2011-08-24
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28