【问题标题】:Order by case and number按案例和数量排序
【发布时间】:2018-10-22 05:17:19
【问题描述】:


这是我的查询:

SELECT * FROM `players` 
WHERE `team` = '$team' 
ORDER BY `spot` ASC, 
CASE WHEN 
`spot` LIKE '%LW%' THEN '1' 
WHEN `spot` LIKE '%C%' THEN '2' 
WHEN `spot` LIKE '%RW%' THEN '3' 
END

我的目标是通过以下方式订购它:

  • 1LW
  • 1C
  • 1RW
  • 2LW
  • 2C
  • 2RW

我正在努力弄清楚如何实现这一目标。这是我的桌子的样子:

【问题讨论】:

    标签: mysql sql-order-by case


    【解决方案1】:

    试试下面

    SELECT * FROM `players` 
    WHERE `team` = '$team' 
    ORDER BY cast(spot as unsigned),
    CASE WHEN 
    `spot` LIKE '%LW%' THEN '1' 
    WHEN `spot` LIKE '%C%' THEN '2' 
    WHEN `spot` LIKE '%RW%' THEN '3' 
    END
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-27
      相关资源
      最近更新 更多