sqlserver中重复数据值只取一条的sql语句

(编辑:jimmy 日期: 2024/11/13 浏览:2)

复制代码 代码如下:
--建立数据表createtable TestData
(
ID int identity(1,1) primary key,
Data int,
ColA varchar(20),
ColB varchar(20)
)
go

--插入测试数据
declare @counts int
declare @i int
set @counts = 10000
set @i = 1

while @i<=@counts
begin
insert TestData (Data,ColA,ColB) values(cast(rand()*10000 as int),cast(rand() as varchar(20)),cast(rand() as varchar(20)))
set @i=@i+1
end

--获取数据(重复数据只取一条)
select * from TestData
where
id in
(
--根据Data分类获取数据最小ID列表
select min(id) from TestData
group by Data
)