使用MySQL。我有一个表,看起来像这样:选择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 | ...
此表有次,每次值(“回应”)的数量发生了每个字段。
谢谢你们,
您是否有明确的列表或可能的响应(0,1,2)在哪里定义?否则,我们需要一个'SELECT 0 UNION SELECT 1 UNION SELECT 2'来启动它,或者更糟的是:如果它可能发生变化,并且我们应该列出动态值,那么我们必须从'SELECT DISTINCT a1a FROM表UNION SELECT DISTINCT a1b ......'等 – Wrikken
这不是一个编程问题。它似乎并没有表现出你自己解决问题的最小努力。如果您需要解决这些问题,请聘请顾问或程序员。这不是救世军。 – mwhs
@Wrikken - 是的,可能的答案是在一个单独的表中定义 – thequeue