如何按1字段值的不同分组

时间:2018-04-13 13:57:55

标签: mysql join group-by

我是MySQL的新手,尝试为我的问题寻找解决方案,但没有退出找到它或者根本不了解如何使用给定的解决方案,所以我希望你能提供帮助我

我有1个包含以下信息的MySQL数据库表。 dataset

Data   Attributename  Objectname    Location
--------------------------------------------
car    name           car           front
car    name           car           back
car    type           car           MPV
door   name           car           left            

我希望我的查询能够给出this结果吗?逗号也可以是换行符。

Data   Attributename  Objectname    Location
------------------------------------------------
car    name           car           front, back
car    type           car           MPV
door   name           car           left    

所以基本上如何查询此表以按此结果分组(对不起英语不好) 或者我需要在我的代码中解决这个问题吗?

感谢您的帮助

2 个答案:

答案 0 :(得分:0)

尝试使用select GROUP_CONCAT

中的GROUP_BY
Select Data,Attributename,Objectname,GROUP_CONCAT(Location) As Location 
From table 
Group by Data,Attributename,Objectname

答案 1 :(得分:0)

请尝试使用以下逗号:

SELECT Data,Attributename,Objectname, GROUP_CONCAT(Location SEPARATOR ',') AS Location
FROM table GROUP BY Data,Attributename,Objectname;

请尝试以下换行:

SELECT Data,Attributename,Objectname, GROUP_CONCAT(Location SEPARATOR '\n') AS Location
FROM table GROUP BY Data,Attributename,Objectname;

您也可以仅查找唯一值:

SELECT Data,Attributename,Objectname, GROUP_CONCAT(DISTINCT Location SEPARATOR '\n') AS Location
FROM table GROUP BY Data,Attributename,Objectname;