执行顺序的问题

小宏 2010-12-07 01:43:55

SELECT max(id) FROM cu_client
where id in
(
SELECT TOP 20 id FROM cu_client
)

SELECT TOP 20 * FROM cu_client

这2个执行的结果和我的预期不一样
我之前看过是和执行顺序有关系,现在找不到那个网址了请高手指教
...全文
89 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
luoyefeng1022 2010-12-07
  • 打赏
  • 举报
回复
SELECT max(id) FROM cu_client
where id in
(
SELECT TOP 20 id FROM cu_client
)
-- 按ID 排序,再取max
SELECT TOP 20 * FROM cu_client
--SQL 默认排序
fengyunshier 2010-12-07
  • 打赏
  • 举报
回复
不知道你预期的是个什么结果。。。。
abuying 2010-12-07
  • 打赏
  • 举报
回复
你的ID是唯一不重复的吗?
是按从小到大或者从大到小这样排的吗?
RXPY2007 2010-12-07
  • 打赏
  • 举报
回复
.........top 20 不是前20个意思吗?
小宏 2010-12-07
  • 打赏
  • 举报
回复
那他这个top的数是怎么取的啊
随即?
王向飞 2010-12-07
  • 打赏
  • 举报
回复
机器怎么知道怎么排序呢
小宏 2010-12-07
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wufeng4552 的回复:]

select top 如果不加上排序
似乎没什么意义
[/Quote]
水哥top的话只是取前几应该默认排序了吧
水族杰纶 2010-12-07
  • 打赏
  • 举报
回复
select top 如果不加上排序
似乎没什么意义

34,594

社区成员

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

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