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