小编Mer*_*rin的帖子

SQL计数多个列和行的特定值

我觉得这应该很容易,但似乎无法找到解决方案.假设我有下表:

|--------||---||---||---||---||---||---||---|
|Company ||q1 ||q2 ||q3 ||q4 ||q5 ||q6 ||q7 |
|--------||---||---||---||---||---||---||---|
|abc     ||1  ||2  ||1  ||3  ||2  ||2  ||1  |
|abc     ||2  ||2  ||1  ||2  ||3  ||1  ||1  |
|abc     ||1  ||1  ||3  ||3  ||1  ||2  ||2  |
|abc     ||1  ||2  ||1  ||3  ||0  ||1  ||3  |
Run Code Online (Sandbox Code Playgroud)

我想计算表中出现"1"的次数,因此在这种情况下,查询应该以12结果.我尝试"硬编码"它,就像下面的查询一样.但这只会导致行包含1,所以在这种情况下4.我如何计算'1'出现的次数,从而导致计数为12?

SELECT COUNT(*) 
FROM table
WHERE Company = 'abc'
AND (
q1 =  '1'
OR q2 =  '1'
OR q3 =  '1'
OR q4 =  '1'
OR q5 =  '1'
OR q6 …
Run Code Online (Sandbox Code Playgroud)

mysql sql

6
推荐指数
1
解决办法
701
查看次数

标签 统计

mysql ×1

sql ×1