显示使用 DISTINCT 或 GROUP BY 连接两个 MySQL 表而不重复的结果
Displaying result of joining two MySQL tables without duplicates, using DISTINCT or GROUP BY
我有两个 table:
BLOG
table 使用方案
(id_blog、名称、内容、日期、建筑)和 IMG
table 方案(id_img、文件名、id_blog)。
通过下面的查询,我得到了 LEFT JOIN tables BLOG
和 IMG
的结果,没问题。
SELECT b.name,
b.content,
i.id_blog,
i.filename
FROM blog b
LEFT JOIN img i USING(id_blog)
WHERE building IN (2,3)
ORDER BY i.filename DESC
我的查询结果:
Building A | Warehouse | 1 | pic3.jpg
Building A | Warehouse | 1 | pic4.jpg
Building A | Warehouse | 1 | pic6.jpg
Building B | Store | 2 | pic7.jpg
Building B | Store | 2 | pic9.jpg
Building B | Store | 2 | pic8.jpg
Building C | School | 3 | pic5.jpg
我应该怎么做才能得到不重复的结果 name
、content
、id_blog
列。
我需要的是下面的结果:
Building A | Warehouse | 1 | pic6.jpg
Building B | Store | 2 | pic9.jpg
Building C | School | 3 | pic5.jpg
使用:
SELECT b.name,
b.content,
i.id_blog,
max(i.filename) as filename
FROM blog b
LEFT JOIN img i USING(id_blog)
WHERE building IN (2,3)
GROUP BY b.name,b.content,i.id_blog
ORDER BY filename DESC;
鉴于 IMG table 的数据(和设计),他们无法获得您想要的结果 table。
如果您的意图是每个博客只有一个 img,则删除错误记录(即 ib_blog、文件名 1、pic3.jpg 1、pic4.jpg)或将 img_filename 专栏添加到博客 table 并删除 img table.
我有两个 table:
BLOG
table 使用方案
(id_blog、名称、内容、日期、建筑)和 IMG
table 方案(id_img、文件名、id_blog)。
通过下面的查询,我得到了 LEFT JOIN tables BLOG
和 IMG
的结果,没问题。
SELECT b.name,
b.content,
i.id_blog,
i.filename
FROM blog b
LEFT JOIN img i USING(id_blog)
WHERE building IN (2,3)
ORDER BY i.filename DESC
我的查询结果:
Building A | Warehouse | 1 | pic3.jpg
Building A | Warehouse | 1 | pic4.jpg
Building A | Warehouse | 1 | pic6.jpg
Building B | Store | 2 | pic7.jpg
Building B | Store | 2 | pic9.jpg
Building B | Store | 2 | pic8.jpg
Building C | School | 3 | pic5.jpg
我应该怎么做才能得到不重复的结果 name
、content
、id_blog
列。
我需要的是下面的结果:
Building A | Warehouse | 1 | pic6.jpg
Building B | Store | 2 | pic9.jpg
Building C | School | 3 | pic5.jpg
使用:
SELECT b.name,
b.content,
i.id_blog,
max(i.filename) as filename
FROM blog b
LEFT JOIN img i USING(id_blog)
WHERE building IN (2,3)
GROUP BY b.name,b.content,i.id_blog
ORDER BY filename DESC;
鉴于 IMG table 的数据(和设计),他们无法获得您想要的结果 table。
如果您的意图是每个博客只有一个 img,则删除错误记录(即 ib_blog、文件名 1、pic3.jpg 1、pic4.jpg)或将 img_filename 专栏添加到博客 table 并删除 img table.