( select t.sqdep, t.myd , count(*) total from formtable_main_100 t group by t.sqdep , t.myd ) group by sqdep
select a.sqdep , count(*) from formtable_main_100 a group by a.sqdep ;怎把两个sql拼成一个
求助啊!!!sql
select a.sqdep , count(*) from formtable_main_100 a group by a.sqdep ;怎把两个sql拼成一个
求助啊!!!sql
select a.sqdep , count(*) from formtable_main_100 a group by a.sqdep ;就是把两个sql拼出来的集成显示出来
select t.sqdep, t.myd , count(*)over(partition by t.sqdep) total from formtable_main_100
你的这句话得出 count(*)是每一个部门的不同满意度的数目
那你的维修次数用 每一个部门的不同满意度的数目 的总和不就行了
from( select t.sqdep ts, t.myd tm, count(*)tcou from formtable_main_100 t group by t.sqdep , t.myd )t1,(select a.sqdep as, count(*) acou from formtable_main_100 a group by a.sqdep)t2
where t1.ts=t2.acou;
from( select t.sqdep ts, t.myd tm, count(*)tcou from formtable_main_100 t group by t.sqdep , t.myd )t1,(select a.sqdep as, count(*) acou from formtable_main_100 a group by a.sqdep)t2
where t1.ts=t2.acou;
应该可以解决
测试数据
SQDEP MYD
abc 123
abc 345
abe 123
abcd 4567
abc 123
测试语句select sqdep,myd,
count(*) over ( partition by sqdep,myd) sqdep_myd_cnt,
count(*) over ( partition by sqdep) sqdep_cnt
from formtable_main_100测试结果
SQDEP MYD SQDEP_MYD_CNT SQDEP_CNT
abc 123 2 3
abc 123 2 3
abc 345 1 3
abcd 4567 1 1
abe 123 1 1
不知道是不是你想要的
oracle的分析函数很有用的,有空学习了解,可以省去很多自关联查询
一 表中的各个字段是什么意思?
二 你写的sql语句和最终要达到的效果之间有什么关系
我个人感觉你的需求不是很难,只要弄明白是怎么回事就好办了。