«

MySQL order by 排序小计

时间:2017-3-28 15:34     作者:admin     分类: 技术文章


在使用 MySQL 排序的时候,

我想把 考号(字段 kh) 里面从左数第三个(包含第三个)取两个数为 11 的所有结果的 分数(字段 fs)进行 降序排列,可是我用order by出现这样的结果:
前面的有比较小的值(越小不应该在最后么),后面才是按照降序排列的(数据有几千条)...很尴尬, 同样,我如果用升序排列,则前面的是按照升序的排序的,可是最后的几行就不是的...最后的几行有比较小的分数(不应该是越到最后越是最大的分数么),特么真是太尴尬...

MySQL 代码如下:

SELECT kh, xm, fs FROM score WHERE SUBSTRING(kh, 3, 2) = '11' ORDER BY fs DESC


出现类似如下图的结果(这是使用降序的时候),请问该如何写 MySQL 语句?

图

解决办法:我发现我的 FS 字段是 varchar 的 我改成 int 整形在排序也对了,你说的使用 ORDER BY abs(fs) desc 也可以..我不知道 ABS(X)这个函数...

标签: 分享 MySQL 排序

版权所有:Mrxn's Blog
文章标题:MySQL order by 排序小计
除非注明,文章均为 Mrxn's Blog 原创,请勿用于任何商业用途,转载请注明作者和出处 Mrxn's Blog

扫描二维码,在手机上阅读

推荐阅读:

评论:
avatar
本质教育 2017-03-28 18:01
我好像导出都可以看到你这个域名的友情链接。
commentator
Mrxn 2017-03-29 12:11
@本质教育:额..哪有那么夸张