当前位置: 首页 > 知识库问答 >
问题:

按DESC排序不正确

樊运乾
2023-03-14

我有一个sql查询

SELECT `price` FROM `used_cars` ORDER BY `price` DESC 

所以我显然想按价格从高到低来订购。然而,它似乎是取第一个数字并按其排序。我的理论是,它将它视为字符串,由于列是varchar,这是有意义的。然而,这是第三方数据,所以我被它卡住了。我怎样才能订购,使较大的数字在前?

这是一个如何排序的例子

9698
8999
8988
8900
5983
4988
4984
42441
40949
3995
3995
38995
37685
36999
35983
34990
34785
32999
30594
29999
29999
2862
28000
27995

共有1个答案

微生城
2023-03-14

应将列转换为数值数据类型。您可以在表定义中或查询本身中这样做,例如:

... ORDER BY `price`+0 DESC
 类似资料:
  • 问题内容: 我只是想按ID对评论进行排序,但是这样做并不幸运。无法弄清楚该怎么办,因为这使我感到困惑: 你们碰巧知道我如何通过DESC中的ID来订购评论吗?谢谢! 问题答案: 首先,您要进行两次相同的操作。这是不必要的,因为您可以计算行数并从单个查询中获取数据。除此之外,用注释表的唯一ID替换您,即可设置好。替换为以颠倒排序顺序。

  • 我需要有一个DESC订单,因为我想限制100,所以我得到前100个值。有人能建议一个办法吗...?

  • 我有下面的MYSQL表 我的查询是: 这不是正确的排序。我做错了什么?

  • 问题内容: 在发现了惊人的发现之后,我再次陷入了困境。 问题是我有一个形式的字典,我需要按其整数值的降序对其进行排序, 但是 如果两个元素的值相同,则按键的升序排列。 一个使它更清楚的例子: 经过研究后,我得出以下结论: 这是因为它对值和键都进行了反向排序。我需要不撤消的钥匙。 问题答案: 就像是

  • 我有一个针对Oracle数据库的规范top-N查询,这是所有常见问题解答和Howto建议的: 它在Oracle 11上运行良好,即它按内部选择中指定的顺序返回前N个记录。 然而,它在Oracle 12上中断。它仍然返回相同的前N个记录,但它们可能会被洗牌。这些记录的最终顺序是不确定的。 我在谷歌上搜索了一下,但没有找到任何相关的讨论。看起来其他人总是从这样的选择中获得正确的记录顺序。 不过有一个发

  • 问题内容: 我想使查询中的排序成为条件排序,因此,如果满足条件,则应通过降序排序 例如: 问题答案: 请勿更改或,更改要排序的事物的符号: OP问: 伙计们,我不是SQL Expert,请向我解释一下id和-id的含义,它可以控制排序方向吗? id就是您要作为排序依据的任何列;-id只是对它的取反,id * -1。如果要按不止一列进行排序,则需要取反每一列: 如果按非数字列排序,则需要查找使该列为