mysql查找重复记录中指定最大(最小)值 |
您所在的位置:网站首页 › 在多列中找重复值 › mysql查找重复记录中指定最大(最小)值 |
在有多条字段重复记录的表中,经常需要查询重复记录中的最大,最小值。 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_id2.可以用表自连接实现 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 |