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. 複数の case ステートメントによる MySQL の順序
  3. 複雑な SQL の順序
  4. MySQL : 1 つの列のみに対する条件付き ORDER BY

そしてもっとかもしれません...

于 2012-06-03T14:48:24.863 に答える