关于多条id相同,只取其中一条记录的sql语句

需要使用:分区函数用法(partition by 字段)

 

select *,row_number() over(partition by item order by date  ) as index from tab

分区索引

-------------------------------------------

SQL Server

select * from (select * , row_number() over(partition by id order by state desc) as sequence 

from mian ) a where sequence =1

--where 前要有个表名

 

oracle中要如下修改:

 

select * from (select t.* , row_number() over(partition by t.id order by t.state desc) as sequence 

from mian t )  a where sequence =1

 

oracle 中要加个别名t,与sqlserver2005中不同。

你可能感兴趣的:(关于多条id相同,只取其中一条记录的sql语句)