在深入Python脚本为我做这个之前,我想知道我们是否可以通过MySQL查询单独实现这一目标吗?
我有一个每个ID有多个记录的表。我想将多个值连接成一个记录并根据优先级连接?还在我这儿?
表可能会有所帮助:
ID Value Priority
1 AA 1
1 KK 3
1 CC 2
2 AA 1
3 EE 4
3 FF 5
2 HH 6
期望的输出:
ID Concat_Value
1 AA, CC, KK
2 AA, HH
3 EE, FF
优先顺序逐渐增加。数字越小,优先级越高。
答案 0 :(得分:3)
很容易就是馅饼。
SELECT id, GROUP_CONCAT(`value` ORDER BY priority) as concat_value
FROM table1
GROUP BY id
请参阅:http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat
如果你想在group_concat中有空格,你必须更改分隔符:
SELECT
id
, GROUP_CONCAT(`value` ORDER BY priority SEPARATOR ', ') as concat_value
FROM table1
GROUP BY id