为了账号安全,请及时绑定邮箱和手机立即绑定

MySQL按组前排序

MySQL按组前排序

沧海一幻觉 2019-07-01 15:58:19
MySQL按组前排序这里有很多类似的问题,但我认为没有人能充分回答这个问题。我将继续从当前最受欢迎的问题如果可以的话,就用他们的例子。此实例中的任务是获取数据库中每个作者的最新帖子。示例查询产生不可用的结果,因为它并不总是返回的最新帖子。SELECT wp_posts.* FROM wp_posts    WHERE wp_posts.post_status='publish'     AND wp_posts.post_type='post'     GROUP BY wp_posts.post_author                ORDER BY wp_posts.post_date DESC目前公认的答案是SELECT     wp_posts.*FROM wp_postsWHERE     wp_posts.post_status='publish'     AND wp_posts.post_type='post'GROUP BY wp_posts.post_authorHAVING wp_posts.post_date = MAX(wp_posts.post_date) <- ONLY THE LAST POST FOR EACH AUTHORORDER BY wp_posts.post_date DESC不幸的是,这个答案显然是错误的,而且在许多情况下产生的结果不如原始查询那么稳定。我最好的解决方案是使用表单的子查询SELECT wp_posts.* FROM (     SELECT *      FROM wp_posts    ORDER BY wp_posts.post_date DESC) AS wp_postsWHERE wp_posts.post_status='publish'AND wp_posts.post_type='post'GROUP BY wp_posts.post_author我的问题很简单:在不诉诸子查询的情况下,在分组之前是否需要对行进行排序?编辑:这个问题是对另一个问题的延续,我的具体情况略有不同。您可以(而且应该)假设还存在一个wp_posts.id,它是该特定帖子的唯一标识符。
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 485 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号