MySQl分组显示组内前N项 及删除重复保留最大id数据

原创
2015/01/31 16:28
阅读数 273

分开查询

 

先查询id

select CAST(group_concat(ids) AS CHAR(10000) CHARACTER SET utf8) as iid 

from (select SUBSTRING_INDEX(group_concat(id ORDER BY 字段),',',4) as ids from `table` group by 字段) as val

在根据id查询数据

SELECT * FROM table where id in ($id)

 

这种也是可以的

select 字段,substring_index(group_concat( concat(字段,':',字段) order by 字段 desc separator '|'),'|',5) from table group by 字段;

具体看情况

DELETE FROM xxx WHERE id NOT IN(SELECT id FROM (SELECT MAX(b.id) AS id FROM xxx b GROUP BY b.xxxx) b)

展开阅读全文
加载中

作者的其它热门文章

打赏
0
0 收藏
分享
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部