使用MySQL。我有一个看起来像这样的表:
rawID | a1a | a1b | a2a | a2b | a2c | ...
1 | 2 | 0 | 0 | 0 | 2 | ...
2 | 2 | 2 | 0 | 0 | 0 | ...
3 | 0 | 1 | 1 | 1 | 2 | ...
4 | 2 | 1 | 2 | 1 | 2 | ...
*字段的可能值在单独的“响应”表中预定义,范围为0-2。
我想要一个结果,使我可以看到每个字段的每个值。我曾经看到过类似的问题,但只涉及一个领域。
我希望我的结果看起来像这样:
response | a1a | a1b | a2a | a2b | a2c | ...
0 | 1 | 1 | 2 | 2 | 1 | ...
1 | 0 | 2 | 1 | 2 | 0 | ...
2 | 3 | 1 | 1 | 0 | 3 | ...
该表具有每个字段出现每个值(“响应”)的次数。
谢谢你们,
最佳答案
试试看:
SELECT
response,
sum(a1a = response) a1aCount,
sum(a1b = response) a1bCount,
sum(a2a = response) a2aCount,
sum(a2b = response) a2bCount,
sum(a2c = response) a2cCount
FROM t, r
GROUP BY response
输出:
| RESPONSE | A1ACOUNT | A1BCOUNT | A2ACOUNT | A2BCOUNT | A2CCOUNT |
|----------|----------|----------|----------|----------|----------|
| 0 | 1 | 1 | 2 | 2 | 1 |
| 1 | 0 | 2 | 1 | 2 | 0 |
| 2 | 3 | 1 | 1 | 0 | 3 |
小提琴here。
不管
response
表中的项目数量如何,这都将起作用。关于mysql - 选择MySQL中多个字段的值出现次数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19552745/