SQL Server to repeat query

Display all data after one column is removed

select * from 表名 where 列2 in (select min([2]) from [表名] group by [1]);
列1 :去重的字段;
列2:最好是自增长的int 类型的字段(如 rowid);

Deduplication query without primary key rowid

1. Create a pseudo column row_id

select ROW_NUMBER() over (order by [主键字段 ] desc) AS row_id,  *  from   [表名]
主键字段可以是多列;

2, Use row_id to repeat

select min(row_id) from  	( 
	select ROW_NUMBER() over (order by [主键字段 ] desc) AS row_id,  *  from   [表名] 
)  t group by t.[去重复的列]

3. Use row_id query after deduplication

select b.* from	( 
	select ROW_NUMBER() over (order by [主键字段] desc) AS row_id,  *  from   [表名] 
		) b where b.row_id in( 
				select min(row_id) from  	( select ROW_NUMBER() over (order by [主键字段] desc) AS row_id,  * from   [表名]  t group by t.[去重的列]
		)

Guess you like

Origin blog.csdn.net/luan0125/article/details/109219836