• 主页
  • 基础类
  • 应用实例
  • 新技术前沿

with ties 什么意思?

lw1a2 2005-03-18 02:54:23
例如:
select top 50 with ties * from employee order by emp_id
我看了帮助,没看明白
...全文
265 点赞 收藏 7
写回复
7 条回复
lw1a2 2005年03月18日
我搜了一下,大概明白了

我的例子有点不太好
回复 点赞
亦饮亦歌 2005年03月18日
select top 50 with ties * from employee order by emp_id
这句的意思是按emp_id从小到大的顺序取employee的前50条记录,如果第50条的emp_id重复,那么这个emp_id号的记录都取出来,这样取出来的记录就不止50条了
回复 点赞
wudan8057 2005年03月18日
相当于下面实现的功能:
select top 0 * into #test from employee

declare @s_empid varchar(20)

declare c_getempid cursor for
select distinct emp_id
(
select top 50 * from employee order by emp_id
) as info
open c_getempid
fetch next from c_getempid into @s_empid
while @@fetch_status = 0
begin
insert #test
select top 50 * from employee where emp_id = @s_empid order by emp_id
fetch next from c_getempid into @s_empid
end
close c_getempid
回复 点赞
lw1a2 2005年03月18日
wudan8057(开心每一天) 不用粘帮助了,我看不懂
回复 点赞
lw1a2 2005年03月18日
看了楼上的,头更大了
回复 点赞
wudan8057 2005年03月18日
指定从基本结果集中返回附加的行,这些行包含与出现在 TOP n (PERCENT) 行最后的 ORDER BY 列中的值相同的值。如果指定了 ORDER BY 子句,则只能指定 TOP ...WITH
回复 点赞
xluzhong 2005年03月18日
相当于
select * from employee where emp_id in(select distinct emp_id from(select top 50 with ties * from employee order by emp_id)t)
回复 点赞
发动态
发帖子
MS-SQL Server
创建于2007-09-28

1.4w+

社区成员

25.3w+

社区内容

MS-SQL Server相关内容讨论专区
社区公告
暂无公告