我刚刚完成了使用 PHP 创建 RSS Feed 以从数据库中获取数据的最新任务。
我只是注意到这些项目中有很多(如果不是全部)有重复项,我试图弄清楚如何只获取每个项目中的一个。
我有一个想法,在我的 PHP 循环中,我只能打印出每隔一行,以使每组重复项中只有一个,但在某些情况下,每篇文章有 3 或 4 篇,所以它必须通过查询来实现。
询问:
SELECT *
FROM uk_newsreach_article t1
INNER JOIN uk_newsreach_article_photo t2
ON t1.id = t2.newsArticleID
INNER JOIN uk_newsreach_photo t3
ON t2.newsPhotoID = t3.id
ORDER BY t1.publishDate DESC;
表结构:
uk_newsreach_article
--------------------
id | headline | extract | text | publishDate | ...
uk_newsreach_article_photo
--------------------------
id | newsArticleID | newsPhotoID
uk_newsreach_photo
------------------
id | htmlAlt | URL | height | width | ...
出于某种原因,有很多重复项,而每组数据中唯一真正独特的是uk_newsreach_article_photo.id
因为即使在一组重复项uk_newsreach_article_photo.newsArticleID
中uk_newsreach_article_photo.newsPhotoID
是相同的,我所需要的只是每组中的一个,例如
样本数据
id | newsArticleID | newsPhotoID
--------------------------------
2 | 800482746 | 7044521
10 | 800482746 | 7044521
19 | 800482746 | 7044521
29 | 800482746 | 7044521
39 | 800482746 | 7044521
53 | 800482746 | 7044521
67 | 800482746 | 7044521
我尝试DISTINCT
在查询中添加 a 并指定我想要的实际列,但这不起作用。