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

k10s72fa  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(232)

我正在使用mysql进行我的项目。我有两张table: user 以及 img . 这是他们的模式。

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

我知道原因,但我解决不了,数据一定是这样的
用户| | img
5 | | 897696987.jpg、jghd8867d.jpg
8 | | 8768788kd.jpg
但这是一场秀:
用户| | img
5 | | 897696987.jpg
5 | | jghd8867d.jpg
8 | | 8768788kd.jpg
我怎样才能做得更好?谢谢您!

gjmwrych

gjmwrych1#

试试这个

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

相关问题