MySQL:在一行中选择多条记录
在这样的查询中:MySQL:在一行中选择多条记录,mysql,sql,Mysql,Sql,在这样的查询中: SELECT * FROM `Keywords` WHERE `Page` = 'food' 我的结果如下所示: | Page | Keyword | -------------------- | food | Pizza | -------------------- | food | Burger | -------------------- | food | Sushi | -------------------- 如何编写SQL语句以获得这
SELECT *
FROM `Keywords`
WHERE `Page` = 'food'
我的结果如下所示:
| Page | Keyword |
--------------------
| food | Pizza |
--------------------
| food | Burger |
--------------------
| food | Sushi |
--------------------
如何编写SQL语句以获得这样的结果
| Page | Keyword |
-------------------------------
| food | Pizza, Burger, Sushi |
-------------------------------
试试这个:
SELECT page, group_concat(Keyword separator ', ') as myList
FROM 'Keywords'
WHERE `Page` = 'food'
GROUP BY Keyword;
另见:
很抱歉,我无意编辑它,我要编辑我的答案,我将其回滚。尽管您需要在
组\u CONCAT
后指定列名,否则列名将成为函数定义。
SELECT `Page`, GROUP_CONCAT(`Keyword` SEPARATOR ', ') AS 'foods'
FROM `Keywords`
WHERE `Page` = 'food'
GROUP BY `Page`;