首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MySQL -选择10位最新作者的最新帖子

MySQL -选择10位最新作者的最新帖子
EN

Stack Overflow用户
提问于 2012-04-17 05:07:12
回答 3查看 1.7K关注 0票数 8

我有一个表格,其中包含许多不同作者的博客帖子。我想要做的是展示10位最新作者的最新帖子。

每个作者的帖子只是按顺序添加到表中,这意味着可能会有单个作者的帖子。我花了很长时间才想出一个查询来完成这个任务。

这给了我最后10个唯一的作者ID;它可以用作子选择来获取每个作者的最新帖子吗?

代码语言:javascript
运行
复制
SELECT DISTINCT userid
FROM posts
ORDER BY postid DESC 
LIMIT 10
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-04-17 05:27:12

代码语言:javascript
运行
复制
select userid,postid, win from posts where postid in (
SELECT max(postid) as postid
FROM posts 
GROUP BY userid
) 
ORDER BY postid desc 
limit 10

http://sqlfiddle.com/#!2/09e25/1

票数 3
EN

Stack Overflow用户

发布于 2012-04-17 05:19:43

您需要一个子查询来查询每个作者的最后一个postid和order by postid DESC。然后,将结果连接到posts表:

代码语言:javascript
运行
复制
SELECT B.* FROM
(
    SELECT * FROM
    (
        SELECT userid,MAX(postid) postid
        FROM posts GROUP BY userid
    ) AA
    ORDER BY postid DESC
    LIMIT 10
) A INNER JOIN posts B
USING (user_id,post_id);

确保你有这个索引

代码语言:javascript
运行
复制
ALTER TABLE posts ADD INDEX user_post_ndx (userid,postid);
票数 1
EN

Stack Overflow用户

发布于 2012-04-17 06:02:21

代码语言:javascript
运行
复制
SELECT userid
     , MAX(postid) AS lastpostid
FROM posts
GROUP BY userid
ORDER BY lastpostid DESC 
LIMIT 10
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10181736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档