首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL语句怎样去除重复、并且保留XX较小的一条数据?()

2012-03-18 
SQL语句怎样去除重复、并且保留XX较小的一条数据?(在线等)表数据结构如下:cardIdprice name---------------

SQL语句怎样去除重复、并且保留XX较小的一条数据?(在线等)
表数据结构如下: 

cardIdprice name
-------------------------------------------
 0010.9 aaa
 0021.5 bbb
 0010.5 ccc
 003 1.2 ddd 


SQL语句怎样去除重复(cardId)并且保留price较小的一条数据?


[解决办法]

SQL code
select * from tb t where price=(select min(price) from tb where cardid=t.cardid)
[解决办法]
SQL code
DELETE  aFROM    你的表名 aWHERE   EXISTS ( SELECT TOP 1                        *                 FROM   你的表名                 WHERE  cardId = a.cardId                        AND price > a.price )
[解决办法]
SQL code
create table dashanliu(cardId char(5), price decimal(3,1), name char(5))insert into dashanliuselect '001', 0.9, 'aaa' union allselect '002', 1.5, 'bbb' union allselect '001', 0.5, 'ccc' union allselect '003', 1.2, 'ddd'select cardId,price,namefrom(select row_number() over(partition by cardId order by price) rn,cardId,price,name from dashanliu) twhere t.rn=1cardId price                                   name------ --------------------------------------- -----001    0.5                                     ccc  002    1.5                                     bbb  003    1.2                                     ddd 

热点排行