转自:http://blog.csdn.net/xb12369/article/details/39554935
尝试SQL: 统计每天每个类型操作个用多少用户
select *
from (select trunc(created_time), action_type, user_id
from t_shq_task_operate_log l
where l.created_time > trunc(sysdate - 7)
and l.created_time < trunc(sysdate)
and l.action_type in (0, 1, 2, 3, 4)) pivot(count(distinct user_id) for action_type in (0,1, 2, 3, 4));
首先感谢提供Oracle的行列转换丝路!!!
原始表数据:
辅助思考:
- select usertelephone,
- max(decode(filedid, 1, answervalue, 0)) as "问题1",
- max(decode(filedid, 2, answervalue, 0)) as "问题2",
- max(decode(filedid, 3, answervalue, 0)) as "问题3",
- max(decode(filedid, 4, answervalue, 0)) as "问题4",
- max(decode(filedid, 5, answervalue, 0)) as "问题5",
- max(decode(filedid, 6, answervalue, 0)) as "问题6",
- max(decode(filedid, 7, answervalue, 0)) as "问题7"
- from t_d_Serveyanswer where serveyid =3 group by usertelephone order by 1 asc;
涨姿势的关键字:pivot
- select * from
- (select usertelephone, filedname, answervalue,t.adddate from t_d_Serveyanswer t join
- t_d_Serveyfiled t1 on t.filedid = t1.id where t.serveyid =3)
- pivot(
- max(answervalue) for filedname in (
- '坑德基和麦当劳 你更喜欢 吃什么?',
- '你什么?',
- '你是那种人?',
- '性别',
- '你爱好什么?',
- '你叫什么?',
- '你用过天翼客服吗?'
- )
- ) order by 1;
-------------------------------------------------------------------------------------------------------------------------------
存储过程实现动态行转列:http://www.cnblogs.com/QQParadise/articles/1712093.html
- 顶
- 0
- 踩