2016-08-17 234 views
0

我正在开发一个API以返回场馆列表。将SQL分组为一列中逗号分隔的值列表

SELECT 
    `sample`.Fascia AS 'Fascia', 
    `sample`.Category AS 'Category' 
FROM 
    `sample` 
WHERE 
    `sample`.`PostCode` LIKE '%SW1%' 

并返回一个场馆列表。

Fascia  | Category 
------------+------------- 
Sainsbury's | Supermarkets 
Waitrose | Supermarkets 
99p Store | Hardware 
T K Max  | Clothing 

我该如何修改查询以将类别组合在一起,并创建一个将这些场所列为逗号列表的抽象列。因此,像这样

Category  | Grouped Venues 
--------------+------------------------ 
Supermarkets | Sainsbury's, Waitrose 
Hardware  | 99p Store 
Clothing  | T K Max 

回答

1

使用GROUP_CONCAT:

 SELECT 
     Group_concat(`sample`.Fascia) AS 'Grouped Venues', 
     `sample`.Category AS 'Category' 
     FROM 
     `sample` 
     WHERE `sample`.`PostCode` LIKE '%SW1%' 
     Group by `sample`.Category 
+0

干杯的人。这就像一个魅力。 –