mysql中類似indexOf的方法LOCATE()


LOCATE(substr, str), LOCATE(substr, str, pos)

第一個語法返回substr在字符串str的第一個出現的位置。

第二個語法返回字符串substr在字符串str,從pos處開始的第一次出現的位置。如果substr不在str中,則返回值為0

 問題:有多個科目,一個科目下多個多選題,每個題四種答案(ABCD),統計每個科目的每道題選擇ABCD的個數

SELECT
    sum(
        CASE
        WHEN (LOCATE('A', 選項名) > 0) THEN
            1
        ELSE
            0
        END
    ) AS A,
    sum(
        CASE
        WHEN (LOCATE('B', 選項名) > 0) THEN
            1
        ELSE
            0
        END
    ) AS B,
    sum(
        CASE
        WHEN (LOCATE('C', 選項名) > 0) THEN
            1
        ELSE
            0
        END
    ) AS C,
    sum(
        CASE
        WHEN (LOCATE('D', 選項名) > 0) THEN
            1
        ELSE
            0
        END
    ) AS D
FROM
    表名

 


免責聲明!

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



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