MySQL中有時需要統計兩種狀態的數量,用到的函數為count(e.status = 3 or null),兩整數相除並保留四位小數用convert(兩數相除,decimal(10,位數))
SELECT e.dept_id deptId, count( e.STATUS = 3 OR NULL ) AS status3, count( e.STATUS = 4 OR NULL ) AS status4, convert(count( e.STATUS = 4 OR NULL ) /(count( e.STATUS = 3 OR NULL )+count( e.STATUS = 4 OR NULL )),decimal(10,4)) as rectRank FROM yn_wc_event e LEFT JOIN sys_dept t ON e.dept_id = t.id WHERE SUBSTR( e.find_time, 1, 4 ) = DATE_FORMAT( NOW( ), '%Y' ) AND e.STATUS IN ( '3', '4' ) GROUP BY e.dept_id, t.`name` order by rectRank desc
執行結果為:

final:不積跬步,無以至千里.不積小流,無以成江海
