mysql自定义顺序,不包括值

时间:2013-09-16 17:49:29

标签: mysql

我认为这很简单。我只想返回一个具有自定义订单的选择。

我选择的结果就是这个。

  • 苹果
  • 水果
  • 浆果
  • 芒果
  • 主页
  • 注销
  • 我希望select返回此订单

  • 主页
  • 苹果
  • 浆果
  • 水果
  • 芒果
  • 注销
  • 理想情况是,无论结果Home始终是第一位,Logout始终是最后一位。中间的一切都是按顺序排列的。怎么会太棒了!

    3 个答案:

    答案 0 :(得分:1)

    SELECT *
    FROM yourTable
    ORDER BY CASE WHEN name = 'Home' THEN 1
                  WHEN name = 'Logout' THEN 3
             ELSE 2
             END ASC,
             name ASC
    

    答案 1 :(得分:0)

    怎么样

    SELECT *
    FROM MyTable
    ORDER BY  
        CASE
            WHEN ColumnValue = 'Home' THEN -1
            WHEN ColumnValue = 'Logout' THEN 1
            ELSE 0
        END,
        ColumnValue
    

    答案 2 :(得分:0)

    SELECT *
    FROM yourTable
    ORDER BY IF(name = 'home', -1, (IF(name = 'logout', 1, 0))), name