gpt4 book ai didi

mysql - 这个查询应该怎么写?

转载 作者:太空宇宙 更新时间:2023-11-03 11:56:46 25 4
gpt4 key购买 nike

基本上我想要做的是在我有一个包含文章的表中进行查询。这是一个包含标题、正文、PublishedDate 和 AuthorID 的简单表格。现在我想要查询做的是。按 PublishedDate 对文章进行排序,并在此获取作者的最新文章。

我还想添加功能,例如我想为每位作者显示最新的两篇文章。但首先它需要考虑发布日期,而不是我想显示的作者数量。

SELECT
article_page.AuthorId,
SUBSTRING_INDEX(GROUP_CONCAT(article_page.ID ORDER BY article_page.PublishedDate DESC
), ',', 3) AS latest_articles
FROM ArticlePage AS article_page
GROUP BY article_page.AuthorId
LIMIT 2;

下面的查询是我到目前为止要做的,但问题是它是否将它限制为两个作者,但最后一个作者有最新的发布日期,它没有显示。

有什么办法可以实现吗?

最佳答案

我想你只需要一个order by:

SELECT ap.AuthorId,
SUBSTRING_INDEX(GROUP_CONCAT(ap.ID ORDER BY ap.PublishedDate DESC
), ',', 3) AS latest_articles
FROM ArticlePage ap
GROUP BY ap.AuthorId
ORDER BY MAX(ap.PublishedDate) DESC
LIMIT 2;

注意表别名的使用。这些使查询更易于编写和阅读。

关于mysql - 这个查询应该怎么写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32141720/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com