SQL - 按“自定义首选项列表”排序

时间:2015-03-24 11:56:19

标签: mysql sql

方案

我在MySql表中有一个列:

my_column - [INT](无符号)

我需要什么

我需要一个查询来选择具有以下条件的ONE ENTRY:

给定A = n

SELECT FIRST the one with my_column = n

ELSE (my_column = n null result)

SELECT the one with my_column = 0

ELSE

SELECT the one with my_column = whatever

ELSE

Return 0 entries

我调查的内容

我试过了:

... WHERE {my_column {1}} {my_column {1}}

适用于前两个步骤,但不适用于第三个步骤。

感谢阅读。

1 个答案:

答案 0 :(得分:2)

根据您的说明,只需使用case

order by (case when field = n then 1
               when field = 0 then 2
               else 3
          end)

然后,当然,你会添加limit 1