【问题标题】:set position of row by own on SQL [duplicate]在SQL上自己设置行的位置[重复]
【发布时间】:2020-01-02 09:28:42
【问题描述】:

我有这样的SQL结果

status || value 
 green     3
 blue      39
 pink      2
 black     300

我想改变蓝色和粉色的那一排

我也想从green, pink, blue, and black 中为该行和值排序 这可能是因为该行是自己的吗?

所以结果会是这样的

status || value 
 green     3
 pink      2
 blue      39
 black     300

【问题讨论】:

  • ORDER BY FIELD(status, "green", "pink", "blue", "black") 可以工作。

标签: mysql sql


【解决方案1】:

您可以尝试使用field()

SELECT status,value
FROM tablename
ORDER BY FIELD(status, "green", "pink", "blue","black")

【讨论】:

    【解决方案2】:

    用例当

    select status,value from table
    order by case status when 'green' then 1
                  when 'pink' then 2
                  when 'blue' then 3
                  when 'black' then 4 end 
    

    【讨论】:

      猜你喜欢
      • 2021-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-05
      • 1970-01-01
      • 2022-01-19
      • 1970-01-01
      相关资源
      最近更新 更多