mysql中case用法

來源:互聯網
上載者:User

標籤:...   from   sum   send   tor   pre   mys   between   sid   

轉載請註明出處:

        簡單CASE語句僅允許您將運算式的值與一組不同的值進行匹配。 為了執行更複雜的匹配,如範圍,您可以使用可搜尋CASE語句。
可搜尋CASE語句等同於IF語句,但是它的構造更加可讀。以下說明可搜尋CASE語句的文法:
        CASE
            WHEN condition_1 THEN commands
            WHEN condition_2 THEN commands
            ...
        ELSE commands
        END CASE;
        
        MySQL評估求值WHEN子句中的每個條件,直到找到一個值為TRUE的條件,然後執行THEN子句中的相應命令(commands)。
如果沒有一個條件為TRUE,則執行ELSE子句中的命令(commands)。如果不指定ELSE子句,並且沒有一個條件為TRUE,MySQL將發出錯誤訊息。

       執行個體:

SELECT CASE u.playerType WHEN ‘1‘ THEN u.num ELSE 0 END AS ‘livePlayCount‘, CASE u.playerType WHEN ‘2‘ THEN u.num ELSE 0 END AS ‘vodPlayCount‘, CASE u.playerType WHEN ‘1‘ THEN u.flowNum ELSE 0 END AS ‘liveFlow‘, CASE u.playerType WHEN ‘2‘ THEN u.flowNum ELSE 0 END AS ‘vodFlow‘, 0 AS ‘storeSpace‘                , 0 AS ‘storeResidueSpace‘            FROM (                SELECT playerType, COUNT(*) AS num, ifnull(SUM(bytesSend),0) AS ‘flowNum‘                FROM tbl_player_statistics                WHERE playerTime BETWEEN CONCAT(DATE_FORMAT(#{month},‘%Y-%m‘),‘-01 00:00:00‘) AND CONCAT(DATE_FORMAT(last_day(#{month}),‘%Y-%m-%d‘),‘ 23:59:59‘)                GROUP BY playerType            ) 

 

mysql中case用法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.