社区
MS-SQL Server
帖子详情
ORDER BY 无法有效排序
ud_miser
2008-01-20 01:34:54
最日很郁闷 数据库有一列HireAmount INT类型
我用SELECT * FROM TABLE ORDER BY HireAmount 对表TABLE进行排序 可是出现的情况是有几行的乱的,比如说:
HireAmount
10
32
5
7
8
9
请问这是怎么回事?
...全文
161
9
打赏
收藏
ORDER BY 无法有效排序
最日很郁闷 数据库有一列HireAmount INT类型 我用SELECT * FROM TABLE ORDER BY HireAmount 对表TABLE进行排序 可是出现的情况是有几行的乱的,比如说: HireAmount 10 32 5 7 8 9 请问这是怎么回事?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
areswang
2008-01-20
打赏
举报
回复
按长度,先排完一位的,才去排两位。
areswang
2008-01-20
打赏
举报
回复
1你本来的数据类型不是int,而是 varchar型的
转换成int后就可以了。
2不转换的话,就按 order by len(HireAmount),HireAmount
也可以
ud_miser
2008-01-20
打赏
举报
回复
哦 原来数据表那列是VARCHAR
请问select * from @tab order by len(HireAmount),HireAmount 是什么意思?
点点星灯
2008-01-20
打赏
举报
回复
因为字符的排序 和数字的排序上不同的,
上面的代码应该已经显示了不同的效果.
ud_miser
2008-01-20
打赏
举报
回复
恩 这次对了 能告诉我原因么
点点星灯
2008-01-20
打赏
举报
回复
declare @tab table(HireAmount int)
insert @tab values(10)
insert @tab values(32)
insert @tab values(5)
insert @tab values(7)
insert @tab values(8)
insert @tab values(9)
--select * from @tab
select * from @tab order by HireAmount
--说明HireAmount字段是字符型的
select * from @tab order by convert(varchar(10),HireAmount)
--你应该这样
select * from @tab order by convert(int,HireAmount)
areswang
2008-01-20
打赏
举报
回复
select * from @tab order by len(HireAmount),HireAmount
ud_miser
2008-01-20
打赏
举报
回复
按照LS的修改 问题依旧 别的列都好好的
点点星灯
2008-01-20
打赏
举报
回复
declare @tab table(HireAmount int)
insert @tab values(10)
insert @tab values(32)
insert @tab values(5)
insert @tab values(7)
insert @tab values(8)
insert @tab values(9)
select * from @tab
select * from @tab order by HireAmount
--说明HireAmount字段是字符型的
select * from @tab order by convert(varchar(10),HireAmount)
mysql key value
排序
_MySQL利用索引优化
ORDER
BY
排序
语句的方法
本文介绍了如何利用MySQL索引来优化
ORDER
BY
排序
语句,包括单列索引优化、WHERE+
ORDER
BY联合索引优化以及
ORDER
BY的限制情况。创建合适的索引可以显著提高查询效率,例如创建联合索引以覆盖WHERE和
ORDER
BY的字段。但需要注意,不同索引键的
ORDER
BY、非连续索引键部分的
排序
、混合升序和降序
排序
以及索引键与搜索条件不匹配等情况
无法
有效
利用索引。
mysql
order
by索引优化_» mysql 中where 和
order
by 的索引优化 Sphinx 中文站
当MySQL的WHERE子句和
ORDER
BY子句一起使用时,
ORDER
BY后的索引可能
无法
被
有效
利用。文章通过两个EXPLAIN输出展示了这种情况,指出在不同条件下,如对不同关键字
排序
、混合
排序
方向或使用非索引列
排序
时,MySQL可能扫描全表。解决方案包括创建联合索引,但应注意避免过度使用索引。
MYSQL
order
by 索引 为什么还全表扫描+文件
排序
?
博客讨论了在MySQL中,当使用前缀索引时,由于索引的无序性,可能导致
ORDER
BY操作
无法
有效
利用索引,从而引发全表扫描和filesort。文章通过实例解释了这个问题,并指出完整索引可以解决这一问题。同时,即使使用DESC
排序
,索引仍然能被
有效
利用。
xp中mysql优化_MYSQL 优化
ORDER
BY
本文探讨了MySQL在特定情况下
无法
有效
利用索引进行
ORDER
BY操作的情形,包括不同关键字
排序
、混合升序降序、多表联接等情况。
Hive中的四种
排序
方式(
order
by,sort by,distribute by,cluster by)使用与区别详解
本文详细介绍了Hive中的四种
排序
方式:
order
by(全局
排序
)、sort by(局部
排序
)、distribute by(分区
排序
)和cluster by(分区+局部
排序
)。
order
by确保全局
排序
但只有一个reducer,适合配合limit使用;sort by在每个reducer内部
排序
,不保证全局有序;distribute by用于控制行流向哪个reducer,常与sort by结合使用;cluster by等同于distribute by + sort by,但
排序
只能是升序。
MS-SQL Server
34,875
社区成员
254,639
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章