在mysql中查询具有重复行的行

时间:2018-05-16 03:04:25

标签: mysql

我正在为我的项目使用mysql。我有两张表:userimg。这是他们的架构。

User
id: int (AI)
username: varchar(50)
password: varchar(50)

Img
id: int (AI)
user_id: int
path: varchar(100)

我知道mysql不支持像nosql一样的数组,所以我必须使用两个表来存储每个用户的多个图像。

问题:当我向所有用户提供他们的图像,它是重复数据时,查询如下:

SELECT u.*, i.path FROM user u INNER JOIN img i ON u.id=i.user_id ORDER BY u.id DESC

我知道原因,但我无法解决,数据必须像这样

  

用户||图

     

5 || 897696987.jpg,Jghd8867D.jpg

     

8 || 8768788Kd.jpg

但是显示:

  

用户||图

     

5 || 897696987.jpg

     

5 || Jghd8867D.jpg

     

8 || 8768788Kd.jpg

我该怎样做才能让它变得更好? 谢谢!

1 个答案:

答案 0 :(得分:1)

试试这个

SELECT u.*, GROUP_CONCAT(i.path) as i.path FROM user u INNER JOIN img i ON u.id=i.user_id GROUP BY u.id ORDER BY u.id DESC