sql语句求助,查询每个月有多少笔业务,去除重复的笔数,我只写了一个

进取先生 2017-11-14 05:38:40
表结构大概是这样
用户名(唯一) 交易日期
a 20170101
b 20170101
c 20170102
a 20170101
b 20170102
..
a 20170130

b 20170201
...
c 20170228

需求是查询每个月有多少笔业务,去除每个月的重复笔数。
我只写了一个sql语句,
SELECT
COUNT(DISTINCT(用户名))
FROM a
WHERE `审批通过时间` LIKE '%2017-01%'

但是我想把结构变成

1月 2月 3月 。。。。12月
3 4 5 4
这样的结构,请问该怎么写啊
...全文
369 3 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
自由自在_Yu 2017-11-17
create table table_tmp as
select 'a' username, '20170101' time_ from dual union all
select 'b' username, '20170101' time_ from dual union all
select 'c' username, '20170102' time_ from dual union all
select 'a' username, '20170101' time_ from dual union all
select 'b' username, '20170102' time_ from dual union all
select 'a' username, '20170130' time_ from dual union all
select 'b' username, '20170201' time_ from dual union all
select 'c' username, '20170228' time_ from dual ;
select * from (select '统计' " ",count(*) counts,substr(time_,5,2) mon from table_tmp group by substr(time_,5,2))
pivot(sum(counts) for mon in ('01' "1月",'02' "2月",'03' "3月",'04' "4月",'05' "5月",'06' "6月"))
  • 打赏
  • 举报
回复
碧水幽幽泉 2017-11-14
正常结贴11,为结贴15。。。
  • 打赏
  • 举报
回复
碧水幽幽泉 2017-11-14
贴下insert语句。
  • 打赏
  • 举报
回复
发帖
Oracle

1.6w+

社区成员

Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
帖子事件
创建了帖子
2017-11-14 05:38
社区公告
暂无公告