题解 | 统计所有课程参加培训人次

SELECT 
    SUM(CASE WHEN course LIKE '%course1%' THEN 1 ELSE 0 END) +
    SUM(CASE WHEN course LIKE '%course2%' THEN 1 ELSE 0 END) +
    SUM(CASE WHEN course LIKE '%course3%' THEN 1 ELSE 0 END) AS staff_nums
FROM 
    cultivate_tb;

!:

COUNT(c.course like '%course1%') ×

COUNT 函数用于统计行数,而不是条件匹配的次数。因此,COUNT(c.course like '%course1%') 并不会返回匹配 course1 的行数,而是始终返回 1(因为 c.course like '%course1%' 是一个布尔值,非空即为 1)。

全部评论

相关推荐

点赞 评论 收藏
分享
10-01 09:50
门头沟学院 Java
肖先生~:这个人真的很好,点赞
点赞 评论 收藏
分享
牛客44664404...:把个人技能删了搞这么长干什么!还有你面试要先针对那个公司的技术栈专门去准备,别一问三不知,他需要你会他们公司对口的技术,写这么多不对口没有用
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务