0

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

例子:

select * 
from table 
order by field1, field2, field3

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

我在想这样的事情:

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

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

谢谢, 安德森

4

1 回答 1

1

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

  1. MYSQL ORDER BY 中的“IF”语句?
  2. MySQL按多个case语句排序
  3. 复杂的sql排序
  4. MySQL:有条件的 ORDER BY 仅对一列

并且可能更多...

于 2012-06-03T14:48:24.863 回答