MySQL 統計兩種狀態的數量,兩個數據相除后保留四位小數


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:不積跬步,無以至千里.不積小流,無以成江海


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM