列子:
name
小雷
小刘
小雷
小柳
小刘
小刘
小崔
.....
不要说用 select * form 表名 where name='小雷' and name='小刘' ,这样的语句,因为假如我有几十个,每个人有几十条记录的话,我岂不是要先去看看有那些人有过记录,然后在写几十个and?我只想取出人名(就算你一个人有1000条记录,最后只显示一个名字,)。
name
小雷
小刘
小雷
小柳
小刘
小刘
小崔
.....
不要说用 select * form 表名 where name='小雷' and name='小刘' ,这样的语句,因为假如我有几十个,每个人有几十条记录的话,我岂不是要先去看看有那些人有过记录,然后在写几十个and?我只想取出人名(就算你一个人有1000条记录,最后只显示一个名字,)。
select distinct name from tbselect name from tb group by name
insert into tb select '小刘'
insert into tb select '小雷'
insert into tb select '小柳'
insert into tb select '小刘'
insert into tb select '小刘'
insert into tb select '小崔'
go
select distinct name from tb
/*
name
----------
小崔
小雷
小刘
小柳(4 行受影响)*/
go
drop table tb
group by name
select
name
from
(select px=row_number()over(partition by name order by getdate()),* from tb)t
where
px=1