社区
Oracle 高级技术
帖子详情
请问关于ORDER by排序的问题
bbl198486
2010-01-06 04:29:15
我有一个项目 需要对楼门号排序 楼门号是 varchar2类型
如果 楼门号是 0~9这样的自然数
或者 A1~A9这样有规则的 字符串 排序很正常 但是
如果 是 A11,A12,B1,B2,A01,A02排出来的顺序就会是这样的 A1开头的在最前面 后面是 B开头的 然后 才是 A0开通的
想问问 这个 如何解决? 这是为什么?
...全文
78
8
打赏
收藏
请问关于ORDER by排序的问题
我有一个项目 需要对楼门号排序 楼门号是 varchar2类型 如果 楼门号是 0~9这样的自然数 或者 A1~A9这样有规则的 字符串 排序很正常 但是 如果 是 A11,A12,B1,B2,A01,A02排出来的顺序就会是这样的 A1开头的在最前面 后面是 B开头的 然后 才是 A0开通的 想问问 这个 如何解决? 这是为什么?
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
8 条
回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
打赏红包
huangyunzeng2008
2010-01-06
打赏
举报
回复
不会有楼主说的情况的
crazylaa
2010-01-06
打赏
举报
回复
[Quote=引用 4 楼 java3344520 的回复:]
A11,A12,B1,B2,A01,A02
排出来的A01,A02,A11,A12,B1,B2
是比较每个字符的ASCII码排列的,所以一定先是对比第一位A和B,然后在第二位,在第三位
[/Quote]
一般都是这个,楼主贴出数据及sql看看?记得用代码模式,否则空格看不出来的
lovelrforever
2010-01-06
打赏
举报
回复
不会吧,排序不正常?
小灰狼W
2010-01-06
打赏
举报
回复
语句怎么写的?字母大小写都一致?
字符型字段的排序按起始字符开始,相同的比较第二个字符,往后类推
一般不会出现楼主说的情况
iqlife
2010-01-06
打赏
举报
回复
A11,A12,B1,B2,A01,A02
排出来的A01,A02,A11,A12,B1,B2
是比较每个字符的ASCII码排列的,所以一定先是对比第一位A和B,然后在第二位,在第三位
fatfoxz
2010-01-06
打赏
举报
回复
varchar2只听说过有10排在2前面的问题,应该没有楼主说的情况。
fatfoxz
2010-01-06
打赏
举报
回复
说反了吧?
order by结果应该是A0=>A1=>B
suiziguo
2010-01-06
打赏
举报
回复
怎么可能。我测试过了,默认ASC排序,A开头的肯定在B开头的前面,同样是A开头的,A0在A1前面。你怎么整出如此神奇的顺序的?
相关推荐
order
by null的
排序
问题
order
by null 默认
排序
问题
mysql :group by 与
order
by 共同使用时
排序
问题
,小心utf8的
排序
mysql :group by 与
order
by 共同使用时
排序
问题
,小心utf8的
排序
mybatis中
order
by
排序
无效
问题
mybatis中
order
by
排序
无效
问题
group by搭配
order
by解决
排序
问题
group by搭配
order
by解决
排序
问题
MYSQL数据库联合使用GROUP BY和
ORDER
BY后
ORDER
BY
排序
失效的
问题
MYSQL数据库联合使用GROUP BY和
ORDER
BY后
ORDER
BY
排序
失效的
问题
当我们需要使用group by 和
order
by来筛选
排序
的时候基本的语句如下 select * from a group by id
order
by create_date; 但是这样查询出来的结果是不正确的,
order
by
排序
失效了。 原因 由于sql语句执行的时候是先group by分组之后再进行
order
by
排序
,这就说明分组的时候取到的数据可能不是最大时间的数据,然后我们再去
排序
得出来的结果就不准确
发帖
Oracle 高级技术
Oracle 高级技术
Oracle 高级技术相关讨论专区
复制链接
扫一扫
3472
社区成员
1.8w+
社区内容
Oracle 高级技术相关讨论专区
社区管理员
加入社区
获取链接或二维码
帖子事件
创建了帖子
2010-01-06 04:29
社区公告
暂无公告