with ties 什么意思?

lw1a2 2005-03-18 02:54:23
例如:
select top 50 with ties * from employee order by emp_id
我看了帮助,没看明白
...全文
460 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
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)

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧