mysql 针对多列去重

来源:互联网 发布:2016珠三角经济数据 编辑:程序博客网 时间:2024/05/20 19:14
SELECT
t.*, COUNT(
DISTINCT t.user_name,
t.insurant_mobile
)
FROM
tb_user_insurants t
WHERE
t.user_id = 199
GROUP BY
t.user_name,
t.insurant_mobile

注意加别名,不然报错,注意在where语句外面包装一下,再用group by去重才会生效。


去除重复后 取修改时间最大的值

select * from tb_user_insurants tt , (select
t.user_name,t.insurant_mobile,max(t.modify_time) modify_time FROM
tb_user_insurants t
WHERE
t.user_id = 296
and t.user_name = '投保人1'
GROUP BY
t.user_name,
t.insurant_mobile) a where tt.user_name = a.user_name and tt.insurant_mobile = a.insurant_mobile and tt.modify_time= a.modify_time;