社区
MS-SQL Server
帖子详情
MSSQL,查询记录返回的顺序是按什么排的?
anlianganl
2011-01-12 10:56:10
比如,是按照插入的先后顺序吗?
还
...全文
257
10
打赏
收藏
MSSQL,查询记录返回的顺序是按什么排的?
比如,是按照插入的先后顺序吗? 还
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Shawn
2011-01-12
打赏
举报
回复
#1.没有设置任何索引和主键,应该是按输入顺序的(按照物理存储来排)
#2.有主键,按主键排序
#3.无主键,有索引,按索引排序
#4.有GROUP BY语句,按GROUP BY中的字段排序
--小F--
2011-01-12
打赏
举报
回复
插入的先后顺序
anlianganl
2011-01-12
打赏
举报
回复
[Quote=引用 2 楼 fredrickhu 的回复:]
这个得看你有没有索引了。。
[/Quote]
如果没有主键呢?
--小F--
2011-01-12
打赏
举报
回复
这个得看你有没有索引了。。
快溜
2011-01-12
打赏
举报
回复
你猜对了。
anlianganl
2011-01-12
打赏
举报
回复
[Quote=引用 9 楼 guguda2008 的回复:]
如果有ORDER BY ,是按ORDER BY指定的顺序
[/Quote]
如果 ORDER BY 的时候 有相等的数据
比如说,ORDER BY ID DESC
有N个ID 都是一样的
这时候 再排序的时候 还是需要物理排序的吧。
也就是说,不管用到 索引 ,ORDER BY,GROUP BY等这些排序的时候
如果遇到一样的,还是隐藏用到了物理排序。
但这个物理顺序,插入的先后顺序吗?
我记得orcale是按rowid 排序的。
但这个 rowid 并不是后插入记录的rowid就越大,也可能会小的。
不知道mssql是这样的吗?
guguda2008
2011-01-12
打赏
举报
回复
不全面
如果有ORDER BY ,是按ORDER BY指定的顺序
如果没有ORDER BY但有GROUP BY,会按GROUP BY的字段排序
如果都没有,但条件完全符合某个索引,会按那个索引的键值排序
如果都没有,会按物理顺序。
聚集索引顺序就代表物理顺序,不应该分开说
wing7742
2011-01-12
打赏
举报
回复
[Quote=引用 7 楼 abuying 的回复:]
引用 5 楼 wwwwgou 的回复:
#1.没有设置任何索引和主键,应该是按输入顺序的(按照物理存储来排)
#2.有主键,按主键排序
#3.无主键,有索引,按索引排序
#4.有GROUP BY语句,按GROUP BY中的字段排序
顶,再加一个order by
#4.有order BY语句,按order BY中的字段排序
[/Quote]
总结的真好
abuying
2011-01-12
打赏
举报
回复
[Quote=引用 5 楼 wwwwgou 的回复:]
#1.没有设置任何索引和主键,应该是按输入顺序的(按照物理存储来排)
#2.有主键,按主键排序
#3.无主键,有索引,按索引排序
#4.有GROUP BY语句,按GROUP BY中的字段排序
[/Quote]
顶,再加一个order by
#4.有order BY语句,按order BY中的字段排序
yy1987316
2011-01-12
打赏
举报
回复
[Quote=引用 5 楼 wwwwgou 的回复:]
#1.没有设置任何索引和主键,应该是按输入顺序的(按照物理存储来排)
#2.有主键,按主键排序
#3.无主键,有索引,按索引排序
#4.有GROUP BY语句,按GROUP BY中的字段排序
[/Quote]
up
ms
sql
查询
无
记录
时sum_
SQL
系列之多表
查询
一、表的加法(UNION)关键字UNION将两个表的
查询
语句连接起来,合并两个表的数据。表的加法会删除两个表中重复的数据,只保留一个。SELECT 列名 FROM 表名1 UNION SELECT 列名 FROM 表名2;若想保留两个表中重复的行...
MS
SQL
中为什么使用NOLOCK
查询
反而
返回
更少的数据?
NOLOCK的作用有的时候还是很强大的。...然而,在某种情况下,NOLOCK反而
返回
了更少的数据,并且可以确认的是,当前没有人在删数据,那么到底是为什么呢? 重现步骤: 01 脚本1:
MS
SQL
之四 简单
查询
作为数据库开发人员,你需要因各种目的经常抽取数据,例如创建报表。...进一步,讨论如何使用函数以自定义
查询
返回
的数据值。而且,本章解释如何从数据库表中抽取汇总和分组的数据 重点
SQL
语句执行
顺序
对性能的影响是什么?
在多表
查询
中,表的连接
顺序
会影响
查询
性能。通常建议先连接较小的表,因为这样可以减少后续步骤所需的行数,从而提高性能。Oracle解析器按照从右到左的
顺序
处理FROM子句中的表名,因此将
记录
条数最少的表放在最后...
my
sql
按照给定的
顺序
筛选_my
sql
查询
结果集按照指定的字段值
顺序
排
序
举个例子,我要按照前端传过来的mongoId集合来
查询
数据库并且
返回
同样
排
序的结果集合,如(M3,M5,M4),他们对应的主键
顺序
为(M4,M3,M5)。如果在
查询
语句中不加order by 对
查询
结果
排
序,那么结果就会变成主键
顺序
(M.....
MS-SQL Server
34,873
社区成员
254,639
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章