标签:sql
我们使用oracle做一些统计的时候,时常碰到如下场景:
1.竖列转横列
2.分组并合并某列作为结果集
3.分组排序取首条记录
我们使用一个简化的业务场景,来展示这三个场景如何使用sql来解决。
业务场景:一张表记录着员工的出勤记录
业务需求:(对应上面的三个场景)
1.统计员工某年的每月出勤记录数
2.查询每个人的出勤记录
3.获得每个员工第一天上班的出勤记录
首先我们先创建测试数据表和测试数据
结果:
1.统计员工2014年的每月出勤情况
这里用到“sql统计利器”--with。
结果:
2.查询每个人的出勤记录
结果:
但是我们发现这个统计出来的结果是乱序,改造一下
改造结果:
3.获得每个员工第一天上班的出勤记录
结果:
标签:sql
原文地址:http://blog.csdn.net/luckcxy/article/details/43816991