php - group by后排序问题

查看:143
本文介绍了php - group by后排序问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

1.针对一个文章,我有N多的评论
2.现在我想获取到每篇文章最新的评论
这个子查询是可以的 ,但是要求是不用子查询,如何实现呢
SELECT FROM (SELECT FROM old_chapter_check_list ORDER BY id DESC) AS t GROUP BY cid LIMIT 10

解决方案

按你的描述你的sql貌似并不满足呢
两种写法
1、一定不要子查询的,确认评论中不包含某种分隔符的话(比如|||)使用substring_index(group_concat))函数处理:

select substring_index(group_concat(comment_content order by id desc separator '|||'),'|||',1) cmt,cid from old_chapter_check_list group by cid limit 10;

2、不确定是否包含特殊字符的写法,先取出有最新评论的10个文章最新id值(唯一自增主键的话)再进行联表查询

select a.cid,a.comment_content from old_chapter_check_list a join (select max(id) maxid from old_chapter_check_list group by cid order by maxid desc limit 10) b on a.id=b.maxid;

这篇关于php - group by后排序问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆