MySQL order by 排序小计

2017-3-28 / 2 评论 技术文章 / Mrxn

本文共计 414 字,感谢您的耐心浏览与评论.

在使用 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 排序

转载:转载请注明原文链接 - MySQL order by 排序小计


2条回应:“MySQL order by 排序小计”

  1. 本质教育

    我好像导出都可以看到你这个域名的友情链接。


发表评论

{view_code_no}