1

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

我选择的结果是这样的。

  • 苹果
  • 水果
  • 浆果
  • 芒果
  • 登出
  • 我希望选择返回此订单

  • 苹果
  • 浆果
  • 水果
  • 芒果
  • 登出
  • 理想的结果是,无论结果Home总是第一,Logout总是最后。中间的所有内容都是按升序排列的。无论如何都会很棒!

    4

    3 回答 3

    1
    SELECT *
    FROM yourTable
    ORDER BY CASE WHEN name = 'Home' THEN 1
                  WHEN name = 'Logout' THEN 3
             ELSE 2
             END ASC,
             name ASC
    
    于 2013-09-16T17:54:25.787 回答
    0

    怎么样

    SELECT *
    FROM MyTable
    ORDER BY  
        CASE
            WHEN ColumnValue = 'Home' THEN -1
            WHEN ColumnValue = 'Logout' THEN 1
            ELSE 0
        END,
        ColumnValue
    
    于 2013-09-16T17:53:43.960 回答
    0
    SELECT *
    FROM yourTable
    ORDER BY IF(name = 'home', -1, (IF(name = 'logout', 1, 0))), name
    
    于 2013-09-16T18:00:32.053 回答