SELECT
DATE_FORMAT( apply.CREATE_TIME, '%Y-%m-%d' ) AS dateTime,
sum( CASE WHEN apply.STATUS = '0' THEN '1' ELSE '0' END ) s0,
sum( CASE WHEN apply.STATUS = '1' THEN '1' ELSE '0' END ) s1,
sum( CASE WHEN apply.STATUS = '2' THEN '1' ELSE '0' END ) s2,
sum( CASE WHEN apply.STATUS = '4' THEN '1' ELSE '0' END ) s3
FROM
USER_APPLY apply
WHERE
yearweek( date_format( apply.CREATE_TIME, '%Y-%m-%d' ) ) = yearweek( now() )
GROUP BY dateTime
ORDER BY dateTime ASC
sql如上。統計查詢的是本周中,status狀態為0,1,2,4的人數各有多少。結果如下:

有一點需要改進的是,某天沒有資料時,默認全部統計為0,而不是不顯示這個日期。求教大神怎么優化一下,自己學術不到家,搞不出來了。
uj5u.com熱心網友回復:
select count(*) as people , stutas FROM USER_APPLY where yearweek( date_format( apply.CREATE_TIME, '%Y-%m-%d' ) ) = yearweek( now() ) group by stutas轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/269755.html
標籤:Java SE
上一篇:這個怎么處理啊?小白一個不會
