求去除多列重复值的sql语句 数据库为mysql表名:test_t 字段:r1,r2,r3数据如下: r1 r2 r3 1 2 3 1 2 4 1 3 4查询的结果要这样: r1 r2 r3 1 2 4 1 3 4比较r1,r2,如果值都一样,则保留第一条,其它的全部显示 各位大哥帮帮忙,小弟先谢了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 假如r1,r2,如果值都一样,则保留r3最大值的那一条:select a.* from test_t a where not exists (select 1 from test_t b where b.r1=a.r1 and b.r2=a.r2 and b.r3>a.r3); 或:select a.* from test_t a,(select r1,r2,max(r3) as max_r3 from test_t group by r1,r2) b where a.r1=b.r1 and a.r2=b.r2 and a.r3=b.max_r3; 假如r1、r2的值都一样,则随便保留一条,则要求你的表数据里面有一个可以在r1、r2相同的情况下进行唯一区分的列,如自增列等。上面的示例语句就是取r3最大值的那条(前提r1、r2相同时,r3不会出现重复值,否则不准)。 楼主的需求能用一条sql语句满足吗?就是delete from tb where 不用procedure 分不多了,请教个问题,好像有点难度 提示mysql_init()没定义 UCenterHome数据库扩容问题 如何把A表的一列字段赋值给B表中的一列 区别·· mysql如何修改删除check约束? 如何判断是否建立了MYSQL的数据库 JDK1.31,mysql在SELECT * FROM RSVNO where tdate='2003-12-01';则会出错,tdate为日期字段 MySQL用BLOB类型存储的图片取出来后失真 有个MySQL正则替换请教大家 A表记录的多个字段和B表的多记录如何实现关联 这是存储过程要怎么接受呢
select 1 from test_t b where b.r1=a.r1 and b.r2=a.r2 and b.r3>a.r3);
select a.* from test_t a,(select r1,r2,max(r3) as max_r3 from test_t group by r1,r2) b where a.r1=b.r1 and a.r2=b.r2 and a.r3=b.max_r3;
上面的示例语句就是取r3最大值的那条(前提r1、r2相同时,r3不会出现重复值,否则不准)。
不用procedure