sql统计一个字段多个逗号分隔的字符或Id数量

  1、  String sql = " SELECT SUM(LENGTH(ee)-LENGTH(REPLACE(ee,',','')))AS  pointCount FROM (SELECT DISTINCT le.`lesson_perp_exercise_id`, ex.`point_info`AS ee FROM lesson_exercise_answer_info AS le  " +
                        "LEFT JOIN lesson_perp_exercise_info AS ex ON ex.id=le.lesson_perp_exercise_id " +
                        "LEFT JOIN lesson_info_bean AS lb ON   le.lesson_id=lb.id "+" WHERE lb.class_id= '"+ classId
                        + "' " + " and le.create_time like'%" + string + "%') as nn";

SUM(LENGTH(ee)-LENGTH(REPLACE(ee,',','')))可以统计出来 一个字段中存在多个用逗号分隔的字符或者Id   直接统计出来字符或者Id的数量。

 

2、@Query("SELECT new map(SUM(CASE WHEN INSTR(s.answer,'A')>0 THEN 1 ELSE 0 END)AS acount,SUM(CASE WHEN INSTR(s.answer,'B')>0 THEN 1 ELSE 0 END)AS bcount,SUM(CASE WHEN INSTR(s.answer,'C')>0  THEN 1 ELSE 0 END)AS ccount,SUM(CASE WHEN INSTR(s.answer,'D')>0  THEN 1 ELSE 0 END)AS dcount,SUM(CASE WHEN INSTR(s.answer,'E')>0  THEN 1 ELSE 0 END)AS ecount,SUM(CASE WHEN INSTR(s.answer,'F')>0  THEN 1 ELSE 0 END)AS fcount ) FROM LessonExerciseAnswerInfoBean as s where s.lessonPerpExerciseId=?1 and s.lessonId=?2 and s.idDelete=0 ")

new map(SUM(CASE WHEN INSTR(s.answer,'A')>0 THEN 1 ELSE 0 END)AS acount统计出来整张表中单个字段选项的数量

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值