如题,有如下表cn id ds
aaa 10 A
aaa 20 A
bbb 1 B
ccc 2 B
若CN项出现两次或两次以上,只保留id大的那行数据(实际数据库中id字段是字符串形式,而且不止1和2两种数值)我只能用类似于
select cn,count(cn)
from table
group by cn
having count(cn)>1
order by cn
这样的语句找出cn字段,其他字段不能保留最终希望的结果表如下:
cn id ds
aaa 20 A
bbb 1 B
ccc 2 B
aaa 10 A
aaa 20 A
bbb 1 B
ccc 2 B
若CN项出现两次或两次以上,只保留id大的那行数据(实际数据库中id字段是字符串形式,而且不止1和2两种数值)我只能用类似于
select cn,count(cn)
from table
group by cn
having count(cn)>1
order by cn
这样的语句找出cn字段,其他字段不能保留最终希望的结果表如下:
cn id ds
aaa 20 A
bbb 1 B
ccc 2 B
用的是SQL2000数据库 没有row_number函数
FROM tb t
WHERE NOT EXISTS(SELECT * FROM tb WHEN t.cn=cn AND t.id<id)