mysql对vachar排序的问题
2017-01-12 00:00
141 查看
今天遇到一个问题
mysql表中有一个用于排序的字段(sortNum)设置为varchar类型
然后排序就出现问题了
结果:
明显不对啊,
貌似机制是这样的,如果是字符串的话,先排首字母,再排后面的
解决办法
1,修改字段为int类型
2,查询的时候字段+0
例如上面的查询码语句,修改完成后
+0的目的就是转换成int类型。当然会有性能损耗,但是这个表一共就60条数据。
而且查询一次数据就存储到redis里面了,so,我选了第二种方法。
mysql表中有一个用于排序的字段(sortNum)设置为varchar类型
然后排序就出现问题了
select * from kbs_firstleveloffice order by firstOffice,sortNum desc
结果:
7 内科 感染科 7 6 内科 血液科 6 5 内科 肾内科 5 3 内科 风湿免疫科 3 8 内科 神经内科 3 2 内科 心血管内科 2 4 内科 呼吸科 15 10 内科 老年科 10
明显不对啊,
貌似机制是这样的,如果是字符串的话,先排首字母,再排后面的
解决办法
1,修改字段为int类型
2,查询的时候字段+0
例如上面的查询码语句,修改完成后
select * from kbs_firstleveloffice order by id,(sortNum+0) desc
+0的目的就是转换成int类型。当然会有性能损耗,但是这个表一共就60条数据。
而且查询一次数据就存储到redis里面了,so,我选了第二种方法。
相关文章推荐
- mysql group by排序问题
- MYSQL varchar 类型 排序错乱问题的解决
- mysql中null值的排序问题分析
- mysql中文排序问题
- MYSQL varchar 类型 排序错乱问题的解决
- 浅谈Java、MySQL的中文排序问题
- mysql in 排序问题:可以按in里面的顺序来排序
- mysql中解决1.1,1.1.1,10.1序号排序问题
- MySQL字符串中数字排序的问题
- MYSQL、SQL Server、Oracle数据库排序空值null问题及其解决办法
- MYSQL、SQL Server、Oracle数据库排序空值null问题及其解决办法
- MYSQL语句,以指定字符串排序问题
- MySQL、SQL Server、Oracle数据库排序空值null问题及其解决办法
- MYSQL、SQL Server、Oracle数据库排序空值null问题及其解决办法
- Mysql group by 排序问题
- mysql group by排序问题
- mysql 双重排序问题
- MySQL字符串中数字排序的问题
- mysql查询ID排序问题,
- mysql in 排序问题:可以按in里面的顺序来排序