MySQL按优先级列表排序

时间:2012-06-03 14:02:45

标签: mysql

我需要订购一个表,但我不知道用户将如何选择列。

示例:

select * 
from table 
order by field1, field2, field3

但是用户可以更改字段顺序:field3,field1,field2

我在想这样的事情:

select * 
from table
order by 
some_fuction (
field1, priority
field2, priority
field3, priority
)

我可以在每个字段中设置优先级。有可能吗?

谢谢, 安德森

1 个答案:

答案 0 :(得分:1)

使用ifcase您可以获得解决方案 您可以查看SO上发布的各种解决方案:

  1. “IF” statement in MYSQL ORDER BY?
  2. MySQL order by multiple case statements
  3. complex sql order by
  4. MySQL : Conditional ORDER BY to only one column
  5. 可能更多......