MySQL查询重复内容只显示一条

熊海
熊海

PHP/MySQL查询重复内容只显示一条,我有这个需求已经有一段时间了,反复试了多种写法都没有达到自己的需求。

因为我的个人博客使用的是一对一的评论留言方式,这样就会造成如果同一个人连续留言或者评论最新评论处显示全是一个人的,感觉有点不理想,需要达到的目的其实很简单,就是一个人如果连续评论或者留言多条,只在列表显示最近的一条。
通俗点的说,数据库里的name字段有同样的名称。我要查数据库所有的name字段重复的只显示最新的一条,没重复的也要显示出来。也就是重复的数据只显示一条,从表中查出字段name所有记录,如果有重复的则取最新一条。
SQL查询语句如下:

<?php
//其中name就是按照确定重复的字段,id为唯一,ORDER BY id DESC为按ID倒序排列,LIMIT 5为显示条数
select * from 表 where (id IN ( select max(id) from 表 WHERE (条件) GROUP BY name )) ORDER BY id DESC LIMIT 5
?>

通过以上语句即可完美解决重复内容多条显示的问题了。

支付宝打赏支付宝 微信
微信扫一扫
0 条评论

评论:

发送