sql的强大

请注意,本文编写于 3814 天前,最后修改于 366 天前,其中某些信息可能已经过时。

我知道sql的查询很复杂,也是很强大,但就没有见过如果强大的,让大家看一句我最近刚写的,就一句sql语句将总数,百分比都出来了!



select t.*,



round(decode(nvl(all_count,0),0,0,send_count/all_count),3)*100 send_count_rate,



round(decode(nvl(all_count,0),0,0,distribute_count/all_count),3)*100 distribute_count_rate,



round(decode(nvl(all_count,0),0,0,success_count/all_count),3)*100 success_count_rate,



round(decode(nvl(all_count,0),0,0,resend_count/all_count),3)*100 resend_count_rate,



round(decode(nvl(all_count,0),0,0,failure_count/all_count),3)*100 failure_count_rate



from



(



select company_name,



sum(case when process_state=1 or process_state=2 or process_state=3 or process_state=4 or process_state=5 then 1 else 0 end) all_count,



sum(case when process_state=1 then 1 else 0 end) send_count,



sum(case when process_state=2 then 1 else 0 end) distribute_count,



sum(case when process_state=3 then 1 else 0 end) success_count,



sum(case when process_state=4 then 1 else 0 end) resend_count,



sum(case when process_state=5 then 1 else 0 end) failure_count



from t_pbb_open_task group by company_name



) t



http://lh4.ggpht.com/_uwC7KS2yb2k/Sg2dfuB4pyI/AAAAAAAABok/sIn1ZczVVCg/s800/sql.JPG

添加新评论