- 给定一费用报销表,做以下数据需求对应的SQL实现
- 题目:对所有明细数据按年份、月份、年月,三者分别汇总,获取其汇总结果?
- 参考答案:
- 数据表,表名称为analysis_daily_expense,中间以"\t"为分隔
工号(workno) 姓名(name) 报销项(item) 费用(cost) 时间(orderdate)
t001 张一 水费 100 2017-06-01 09:00:00
t002 张二 团建 500 2017-07-02 09:00:00
t003 张三 市场 1700 2017-08-01 09:00:00
t004 张四 维修 150 2017-08-11 09:00:00
t005 张五 出差 800 2017-08-21 11:00:00
t005 张五 市场 1000 2017-09-29 11:00:00
t005 张五 福利 300 2017-09-29 11:00:00
t004 张四 市场 300 2018-01-05 11:00:00
t004 张四 市场 550 2018-01-06 09:00:00
t003 张三 维修 90 2018-02-01 09:00:00
t002 张二 电费 200 2018-02-05 09:00:00
t002 张二 团建 300 2018-02-08 15:00:00
t005 张五 市场 1280 2018-03-07 15:00:00
t005 张五 市场 2280 2018-04-07 15:00:00
t002 张二 维修 230 2018-04-01 15:00:00
t004 张四 福利 200 2018-04-28 15:00:00
t004 张四 福利 1000 2017-12-30 15:00:00
t004 张四 福利 10000 2018-02-13 15:00:00
- sql实现
//重点考查对增强型GroupBy的使用
select year,month,sum(cost) AS all_cost,GROUPING__ID from
(
SELECT year(orderdatetime) as year,
month(orderdatetime) as month,
cost
FROM analysis_daily_expense
) middle
GROUP BY year,month
GROUPING SETS (year,month,(year,month))
ORDER BY GROUPING__ID;
- 效果演示
天亮教育是一家从事大数据云计算、人工智能、教育培训、产品开发、咨询服务、人才优选为一体的综合型互联网科技公司。
公司由一批BAT等一线互联网IT精英人士创建,
以"快乐工作,认真生活,打造IT职业技能教育的一面旗帜"为愿景,胸怀"让天下没有难找的工作"使命,
坚持"客户第一、诚信、激情、拥抱变化"的价值观,
全心全意为学员赋能提效,践行技术改变命运的初心。
更多学习讨论, 请加入
官方-天亮大数据交流-366784928
群二维码:
官方-天亮web前端交流-972788995
群二维码:
欢迎关注天亮教育公众号,大数据技术资料与课程、招生就业动态、教育资讯动态、创业历程分享一站式分享,官方微信公众号二维码:
天亮教育大数据官方群318971238,
天亮教育web前端官方群318971238,
爬虫、nlp技术qq群320349384
hadoop & spark & hive技术群297585251
教育培训官网:http://myhope365.com
项目研发业务尚云科技官网:http://shangyuninfo.com/
天亮教育公开课-从小白到大佬修成记-全系列视频地址:http://myhope365.com/news/index?id=66
天亮云课堂小程序版,微信扫码下图可直接进入学习!!!