mysql查找重复记录中指定最大(最小)值

您所在的位置:网站首页 在多列中找重复值 mysql查找重复记录中指定最大(最小)值

mysql查找重复记录中指定最大(最小)值

2024-07-11 13:57| 来源: 网络整理| 查看: 265

在有多条字段重复记录的表中,经常需要查询重复记录中的最大,最小值。

1.直接使用max()函数,例子是获取最大的id

测试表结构:

`id` int(10) unsigned NOT NULL AUTO_INCREMENT, `role_id` int(10) unsigned NOT NULL, `user_id` int(10) unsigned NOT NULL, PRIMARY KEY (`id`),

SELECT max(id) FROM test GROUP BY role_id

2.可以用表自连接实现

SELECT * FROM test WHERE id NOT IN ( SELECT t.id FROM test t JOIN test e ON t.role_id = e.role_id WHERE t.id > e.id GROUP BY t.id ) tips:假如需要删除,不能直接删除自己select出来的结果,可以用别名如下:

DELETE FROM test WHERE id IN ( SELECT m_id FROM ( SELECT max(id) AS m_id FROM test GROUP BY role_id ) b )



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3