select top 10 distinct UserID,Name,Info from table
不行啊,我只要保证UserID不重复,并且UserID不是主键
--多多练习,相互提升 select UserID,Name,Info from table where UserID in(select distinct 10 UserID from table)select distinct top 10 UserID,Name,Info from table
select top 10 * from ( select * from tb t where UserID=(select max(UserID) from tb where Name=t.Name and Info=t.Info) )t
select distinct top 10 * from 表名
select top 10 UserID,Name,Info from ( select * from (select idd=row_number()over(partition by UserID order by getdate()),* from table)t where idd=1 )tt
小F哥,不行啊,取出来的UserID还是有重复的
这个可以的。。楼主可以试试 不过可以简化为: select top 10 userid,name,info from ( select idd=row_number()over(partition by UserID order by getdate()),* from table )t where idd=1
sql2000 select identity(int,1,i) as id,* into #t from tbselect top 10 t1.* from #t t1 where id = ( select min(t2. id) from #t t2 where t1.userid=t2.userid ) 2005可以用row_number
select top 10 * from tb t where Name = (select max(Name) from tb where UserID = t.UserID) order by t.UserID select top 10 * from tb t where Name = (select min(Name) from tb where UserID = t.UserID) order by t.UserID select top 10 * from tb t where not exists (select 1 from tb where UserID = t.UserID and Name > t.Name) order by t.UserID select top 10 * from tb t where not exists (select 1 from tb where UserID = t.UserID and Name < t.Name) order by t.UserID select top 10 * from tb t where Name = (select max(Name) from tb where UserID = t.UserID) order by t.UserID desc select top 10 * from tb t where Name = (select min(Name) from tb where UserID = t.UserID) order by t.UserID desc select top 10 * from tb t where not exists (select 1 from tb where UserID = t.UserID and Name > t.Name) order by t.UserID desc select top 10 * from tb t where not exists (select 1 from tb where UserID = t.UserID and Name < t.Name) order by t.UserID desc如果上述都不对,则: 最好给出完整的表结构,测试数据,计算方法和正确结果.发帖注意事项 http://topic.csdn.net/u/20091130/21/fb718680-98ff-4afb-98d8-cff2f8293ed5.html?24281
--多多练习,相互提升
select UserID,Name,Info
from table
where UserID in(select distinct 10 UserID from table)select distinct top 10 UserID,Name,Info from table
top 10
*
from
(
select
*
from
tb t
where
UserID=(select max(UserID) from tb where Name=t.Name and Info=t.Info)
)t
select top 10 UserID,Name,Info
from
(
select *
from
(select idd=row_number()over(partition by UserID order by getdate()),*
from table)t
where idd=1
)tt
不过可以简化为:
select top 10 userid,name,info
from
(
select idd=row_number()over(partition by UserID order by getdate()),*
from table
)t
where idd=1
select identity(int,1,i) as id,* into #t from tbselect top 10 t1.* from #t t1
where id = (
select min(t2. id) from #t t2
where t1.userid=t2.userid
)
2005可以用row_number
select top 10 * from tb t where Name = (select min(Name) from tb where UserID = t.UserID) order by t.UserID
select top 10 * from tb t where not exists (select 1 from tb where UserID = t.UserID and Name > t.Name) order by t.UserID
select top 10 * from tb t where not exists (select 1 from tb where UserID = t.UserID and Name < t.Name) order by t.UserID
select top 10 * from tb t where Name = (select max(Name) from tb where UserID = t.UserID) order by t.UserID desc
select top 10 * from tb t where Name = (select min(Name) from tb where UserID = t.UserID) order by t.UserID desc
select top 10 * from tb t where not exists (select 1 from tb where UserID = t.UserID and Name > t.Name) order by t.UserID desc
select top 10 * from tb t where not exists (select 1 from tb where UserID = t.UserID and Name < t.Name) order by t.UserID desc如果上述都不对,则:
最好给出完整的表结构,测试数据,计算方法和正确结果.发帖注意事项
http://topic.csdn.net/u/20091130/21/fb718680-98ff-4afb-98d8-cff2f8293ed5.html?24281