MySQL:在一行中选择多个记录

时间:2014-08-08 23:56:50

标签: mysql sql

在像这样的查询中:

SELECT * 
FROM `Keywords`
WHERE `Page` = 'food'

我的结果显示如下:

| Page   | Keyword |
--------------------
| food   | Pizza   |
--------------------
| food   | Burger  |
--------------------
| food   | Sushi   |
--------------------

如何编写我的SQL语句,以获得类似这样的结果?:

| Page | Keyword              |
-------------------------------
| food | Pizza, Burger, Sushi |
-------------------------------

2 个答案:

答案 0 :(得分:3)

使用GROUP_CONCAT

SELECT `Page`, GROUP_CONCAT(`Keyword` SEPARATOR ', ') AS 'foods'
FROM `Keywords` 
WHERE `Page` = 'food'
GROUP BY `Page`;

答案 1 :(得分:2)

试试这个:

SELECT page, group_concat(Keyword separator ', ') as myList
FROM 'Keywords'
WHERE `Page` = 'food'
GROUP BY Keyword;

另见: