當前位置:
首頁 >
mysql 多条件统计
發布時間:2023/12/10
43
豆豆
生活随笔
收集整理的這篇文章主要介紹了
mysql 多条件统计
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
第一種寫法
select count(IF(t2.work_order_status=102 or t2.work_order_status=5,1,null)) as totalComWorkOrderNum, count(IF(t2.work_order_status=9,1,null)) as toBeTakingWorkOrderNum, count(IF(t2.work_order_status=10,1,null)) as toBeSignedWorkOrderNum, count(IF(t2.work_order_status=101,1,null)) as toBeHxWorkOrderNum, count(if(STR_TO_DATE(t1.reservation_date,'%Y-%m-%d')=DATE_FORMAT(NOW(),'%Y-%m-%d') and t2.work_order_status=9,1,null)) as todayWorkOrderNum, count(if(STR_TO_DATE(t1.reservation_date,'%Y-%m-%d')=DATE_ADD(DATE_FORMAT(NOW(),'%Y-%m-%d'),INTERVAL 1 DAY) and t2.work_order_status=9,1,null)) as tomorrowWorkOrderNum,0 as toBeAppointedWorkOrderNumfrom p_user_dispatch_make_info t1INNER JOIN p_user_service_work_order_info t2ON t1.work_order_id=t2.idwhere t1.is_deleted=0and t1.is_enable=1and t2.is_deleted=0 and t2.is_enable=1第二種寫法
select count(IF(t2.work_order_status=102 or t2.work_order_status=5,true,null)) as totalComWorkOrderNum, count(IF(t2.work_order_status=9,true,null)) as toBeTakingWorkOrderNum, count(IF(t2.work_order_status=10,true,null)) as toBeSignedWorkOrderNum, count(IF(t2.work_order_status=101,true,null)) as toBeHxWorkOrderNum, count(if(STR_TO_DATE(t1.reservation_date,'%Y-%m-%d')=DATE_FORMAT(NOW(),'%Y-%m-%d') and t2.work_order_status=9,true,null)) as todayWorkOrderNum, count(if(STR_TO_DATE(t1.reservation_date,'%Y-%m-%d')=DATE_ADD(DATE_FORMAT(NOW(),'%Y-%m-%d'),INTERVAL 1 DAY) and t2.work_order_status=9,true,null)) as tomorrowWorkOrderNum,0 as toBeAppointedWorkOrderNumfrom p_user_dispatch_make_info t1INNER JOIN p_user_service_work_order_info t2ON t1.work_order_id=t2.idwhere t1.is_deleted=0and t1.is_enable=1and t2.is_deleted=0 and t2.is_enable=1第三種寫法
select sum(IF(t2.work_order_status=102 or t2.work_order_status=5,1,0)) as totalComWorkOrderNum, sum(IF(t2.work_order_status=9,1,0)) as toBeTakingWorkOrderNum, sum(IF(t2.work_order_status=10,1,0)) as toBeSignedWorkOrderNum, sum(IF(t2.work_order_status=101,1,0)) as toBeHxWorkOrderNum, sum(if(STR_TO_DATE(t1.reservation_date,'%Y-%m-%d')=DATE_FORMAT(NOW(),'%Y-%m-%d') and t2.work_order_status=9,1,0)) as todayWorkOrderNum, sum(if(STR_TO_DATE(t1.reservation_date,'%Y-%m-%d')=DATE_ADD(DATE_FORMAT(NOW(),'%Y-%m-%d'),INTERVAL 1 DAY) and t2.work_order_status=9,1,0)) as tomorrowWorkOrderNum,0 as toBeAppointedWorkOrderNumfrom p_user_dispatch_make_info t1INNER JOIN p_user_service_work_order_info t2ON t1.work_order_id=t2.idwhere t1.is_deleted=0and t1.is_enable=1and t2.is_deleted=0 and t2.is_enable=1第四種寫法
select count(CASE WHEN t2.work_order_status=102 or t2.work_order_status=5 THEN 1 ELSE null END) as totalComWorkOrderNum, count(CASE WHEN t2.work_order_status=9 THEN 1 else null END) as toBeTakingWorkOrderNum, count(CASE WHEN t2.work_order_status=10 THEN 1 ELSE null END) as toBeSignedWorkOrderNum, count(CASE WHEN t2.work_order_status=101 THEN 1 ELSE NULL END) as toBeHxWorkOrderNum, count(CASE WHEN STR_TO_DATE(t1.reservation_date,'%Y-%m-%d')=DATE_FORMAT(NOW(),'%Y-%m-%d') and t2.work_order_status=9 THEN 1 ELSE null END) as todayWorkOrderNum, count(CASE WHEN STR_TO_DATE(t1.reservation_date,'%Y-%m-%d')=DATE_ADD(DATE_FORMAT(NOW(),'%Y-%m-%d'),INTERVAL 1 DAY) and t2.work_order_status=9 THEN 1 ELSE NULL END) as tomorrowWorkOrderNum,0 as toBeAppointedWorkOrderNumfrom p_user_dispatch_make_info t1INNER JOIN p_user_service_work_order_info t2ON t1.work_order_id=t2.idwhere t1.is_deleted=0and t1.is_enable=1and t2.is_deleted=0 and t2.is_enable=1第五種寫法
select count(CASE WHEN t2.work_order_status=102 or t2.work_order_status=5 THEN true ELSE null END) as totalComWorkOrderNum, count(CASE WHEN t2.work_order_status=9 THEN true else null END) as toBeTakingWorkOrderNum, count(CASE WHEN t2.work_order_status=10 THEN true ELSE null END) as toBeSignedWorkOrderNum, count(CASE WHEN t2.work_order_status=101 THEN true ELSE NULL END) as toBeHxWorkOrderNum, count(CASE WHEN STR_TO_DATE(t1.reservation_date,'%Y-%m-%d')=DATE_FORMAT(NOW(),'%Y-%m-%d') and t2.work_order_status=9 THEN true ELSE null END) as todayWorkOrderNum, count(CASE WHEN STR_TO_DATE(t1.reservation_date,'%Y-%m-%d')=DATE_ADD(DATE_FORMAT(NOW(),'%Y-%m-%d'),INTERVAL 1 DAY) and t2.work_order_status=9 THEN true ELSE NULL END) as tomorrowWorkOrderNum,0 as toBeAppointedWorkOrderNumfrom p_user_dispatch_make_info t1INNER JOIN p_user_service_work_order_info t2ON t1.work_order_id=t2.idwhere t1.is_deleted=0and t1.is_enable=1and t2.is_deleted=0 and t2.is_enable=1總結
以上是生活随笔為你收集整理的mysql 多条件统计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 泰拉瑞亚服务器怎么让玩家注册,上线10年
- 下一篇: mysql 加字段_MySQL8.0大表