回答:地区和病种去重后做笛卡尔积,然后再外链group by语句
回答:简单case只能是when后面的表达式完全匹配case后的表达式,相当于 =
回答:按年分组以日期排序计数,等于1时不取值,大于1时取计数减1所在行的值
回答:开局一张图,数据全靠猜。
回答:are you kidding me?
回答:建个视图
回答:没看懂你要干啥
回答:一共就五级啊 ,把前四级分别汇总建临时表。再给外联到基础表上就行了啊
回答:上边好像都不对 我下午试下-------------------------------------------------------------有几个点不知道理解的对不对1.机台是指设备号2.1:00-3:00是指下午3.时间的12:00 表示上传时间12:00-12:59考虑了机台在一天内可能有这样的情况:先有上传数据记录,之后又在某个 整个小时中都无上传数据的情况select 时间,count(machine) 机台数量,sum(case when status='正常' then 1 else 0 end)||'/'||count(machine) 正常,sum(case when status='调机' then 1 else 0 end)||'/'||count(machine) 调机 from(select a.时间,row_number() over(partition by a.时间,b.machine order by b.time desc) rn,b.machine,b.statusfrom (select distinct substr(time, 1, 2)||':00' 时间from ttt) aleft join ttt bon substr(b.time, 1, 2)<=a.时间)where rn=1 group by 时间order by 时间;
回答:拆一拆往临时表里扔
21
21
0
10