【问题标题】:Not able to arrange data in descending order using sql无法使用sql按降序排列数据
【发布时间】:2019-09-26 09:21:34
【问题描述】:

我在 SQL 工作台上创建了上表,并尝试运行一个非常基本的查询,根据薪水按 desc 顺序提供数据(代码如下所示以及输出),但是我没有得到正确的输出。谁能帮我解决这个问题

【问题讨论】:

  • 您的salary 列数据类型是varchar 吗?
  • 投你的专栏工资到整数

标签: mysql sql sql-order-by


【解决方案1】:

salary 显然是一个文本字段。要么将其更改为数字类型(整数或小数都可以),要么在查询中CAST

SELECT *
FROM employee
ORDER BY CAST(salary AS UNSIGNED) DESC

【讨论】:

  • 哦,是这个原因……非常感谢解决了
  • @user3732711 不用担心。我很高兴能帮上忙。
【解决方案2】:

这是适合您解决方案的查询。

SELECT * FROM employee ORDER BY CAST(salary AS UNSIGNED) DESC

注意 - 请尝试在您的数据库中维护 NORMALIZATION。如果列是 SALARY,则尝试将数据类型设置为 MONEY。这对你有很大帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-18
    • 1970-01-01
    • 2019-01-15
    • 2020-12-10
    • 1970-01-01
    • 2015-07-31
    • 2011-05-10
    • 1970-01-01
    相关资源
    最近更新 更多