mysqlcasewhen的用法是什么

mysql case when的用法是:1、用作簡單搜索,語法為【CASE [col_name] WHEN [value1]】;2、用作搜索,語法為【ASE WHEN [expr] THEN [result1]】。

創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都做網(wǎng)站、網(wǎng)站建設(shè)、子洲網(wǎng)絡(luò)推廣、微信小程序定制開發(fā)、子洲網(wǎng)絡(luò)營銷、子洲企業(yè)策劃、子洲品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們大的嘉獎;創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供子洲建站搭建服務(wù),24小時服務(wù)熱線:028-86922220,官方網(wǎng)址:muchs.cn

【相關(guān)學(xué)習(xí)推薦:mysql教程(視頻)】

mysql case when的用法是:

MySQL 的 case when 的語法有兩種:

簡單函數(shù)

CASE [col_name] WHEN [value1] THEN [result1]…ELSE [default] END

搜索函數(shù)

CASE WHEN [expr] THEN [result1]…ELSE [default] END

這兩種語法有什么區(qū)別呢?

簡單函數(shù)

CASE [col_name] WHEN [value1] THEN [result1]…ELSE [default] END: 枚舉這個字段所有可能的值*

SELECT
    NAME '英雄',
    CASE NAME
        WHEN '德萊文' THEN
            '斧子'
        WHEN '德瑪西亞-蓋倫' THEN
            '大寶劍'
        WHEN '暗夜獵手-VN' THEN
            '弩'
        ELSE
            '無'
    END '裝備'
FROM
    user_info;
復(fù)制代碼
復(fù)制代碼
SELECT
    NAME '英雄',
    CASE NAME
        WHEN '德萊文' THEN
            '斧子'
        WHEN '德瑪西亞-蓋倫' THEN
            '大寶劍'
        WHEN '暗夜獵手-VN' THEN
            '弩'
        ELSE
            '無'
    END '裝備'
FROM
    user_info;

搜索函數(shù)

CASE WHEN [expr] THEN [result1]…ELSE [default] END:搜索函數(shù)可以寫判斷,并且搜索函數(shù)只會返回第一個符合條件的值,其他case被忽略

# when 表達(dá)式中可以使用 and 連接條件
SELECT
    NAME '英雄',
    age '年齡',
    CASE
        WHEN age < 18 THEN
            '少年'
        WHEN age < 30 THEN
            '青年'
        WHEN age >= 30
        AND age < 50 THEN
            '中年'
        ELSE
            '老年'
    END '狀態(tài)'
FROM
    user_info;
聚合函數(shù) sum 配合 case when 的簡單函數(shù)實(shí)現(xiàn)行轉(zhuǎn)列
SELECT
    st.stu_id '學(xué)號',
    st.stu_name '姓名',
    sum(
        CASE co.course_name
        WHEN '大學(xué)語文' THEN
            sc.scores
        ELSE
            0
        END
    ) '大學(xué)語文',
    sum(
        CASE co.course_name
        WHEN '新視野英語' THEN
            sc.scores
        ELSE
            0
        END
    ) '新視野英語',
    sum(
        CASE co.course_name
        WHEN '離散數(shù)學(xué)' THEN
            sc.scores
        ELSE
            0
        END
    ) '離散數(shù)學(xué)',
    sum(
        CASE co.course_name
        WHEN '概率論與數(shù)理統(tǒng)計(jì)' THEN
            sc.scores
        ELSE
            0
        END
    ) '概率論與數(shù)理統(tǒng)計(jì)',
    sum(
        CASE co.course_name
        WHEN '線性代數(shù)' THEN
            sc.scores
        ELSE
            0
        END
    ) '線性代數(shù)',
    sum(
        CASE co.course_name
        WHEN '高等數(shù)學(xué)' THEN
            sc.scores
        ELSE
            0
        END
    ) '高等數(shù)學(xué)'
FROM
    edu_student st
LEFT JOIN edu_score sc ON st.stu_id = sc.stu_id
LEFT JOIN edu_courses co ON co.course_no = sc.course_no
GROUP BY
    st.stu_id
ORDER BY
    NULL;

想了解更多編程學(xué)習(xí),敬請關(guān)注php培訓(xùn)欄目!

文章題目:mysqlcasewhen的用法是什么
瀏覽路徑:http://muchs.cn/article4/chspie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作網(wǎng)站營銷、微信公眾號、企業(yè)建站、品牌網(wǎng)站制作網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)