SQL组合并结果

时间:2014-08-24 04:03:55

标签: mysql sql group-by

如何运行查询选择" sub"按" cat"分组返回这样的东西:

SQL查询:

select sub
from post
where cat = 1
group by id

返回类似的内容:

3,4,9,14,33,22

表"发布"

id      cat     sub
1        1       3,4,9,14
2        2       1,2
3        2       4,5
4        1       33,22
5        3       1,4

感谢,

1 个答案:

答案 0 :(得分:1)

将字符串列表存储在字符串中是一个非常糟糕的主意。首先,你的id是整数,但字符串是字符。更重要的是,SQL有一个很好的数据结构来存储列表 - 它被称为表。你应该使用联结表。

但是,有时你会被你掌握的数据所困扰。在这种情况下,您可以使用group_concat()

select group_concat(sub)
from post
where cat = 1;