有一个表数据如下文章id 栏目id 作者id
1 a A
2 b B
3 c C
4 d C
5 d B
6 b A
7 b C想通过SQL语句查询获取作者在各个栏目下发布的文章数量栏目 作者A 作者B 作者C
a 1 0 0
b 1 1 1
c 0 0 1
d 0 1 2
真心求指导!!
1 a A
2 b B
3 c C
4 d C
5 d B
6 b A
7 b C想通过SQL语句查询获取作者在各个栏目下发布的文章数量栏目 作者A 作者B 作者C
a 1 0 0
b 1 1 1
c 0 0 1
d 0 1 2
真心求指导!!
解决方案 »
- 求助。。同一条update语句,在VS2010中执行就报错“ORA-01036: 非法的变量名/编号”
- 本地如何以管理员角色登录远程数据库
- 由两端端口级别判断线段级别问题(SQL)
- win7安装oracle10g完成后登录时输入密码和用户名后界面就关闭
- oracle连接数据源的问题
- 怎么用DOS命令启用监听器?
- 求一个第三方的Oracle数据库管理工具
- 请问如何写一个sql,只保留表的前500条记录,其余的都删除
- 一个关于动态SQL的问题
- set constraints all deferred;这个语句为什么不能写在过程中?
- 如何在ORACLE中设置小数的格式化
- oracle 11g em重建,提示口令无效。口令用pl/SQL都能登录,就EMCA说无效!
with t as(
select '1' wen_id,'a' lan_id, 'A' zuo_id from dual
union all
select '2' wen_id,'b' lan_id, 'B' zuo_id from dual
union all
select '3' wen_id,'c' lan_id, 'C' zuo_id from dual
union all
select '4' wen_id,'d' lan_id, 'C' zuo_id from dual
union all
select '5' wen_id,'d' lan_id, 'B' zuo_id from dual
union all
select '6' wen_id,'b' lan_id, 'A' zuo_id from dual
union all
select '7' wen_id,'d' lan_id, 'C' zuo_id from dual)select tt.lan_id,
MAX(nvl(decode(tt.zuo_id, 'A', nm),0)) 作者A,
MAX(nvl(decode(tt.zuo_id, 'B', nm),0)) 作者B,
MAX(nvl(decode(tt.zuo_id, 'C', nm),0)) 作者C
from (select t.zuo_id,t.lan_id,count(wen_id) nm
from t
group by t.lan_id,t.zuo_id
order by t.zuo_id,t.lan_id) tt
group by tt.lan_id
order by tt.lan_id