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
表名