私はの結果を注文しようとしています。MySQLクエリは、その行の下にあるフィールドのユーザー設定データに基づいています。MySQLクエリの並べ替え
私はこのように設定し、「割り当て」と呼ばれるテーブルを持っている:
id user_id item_id
-- ------- -------
1 1 1
2 1 23
3 1 304
私はこのように保存されるユーザーテーブルに基づいて、これらの結果を注文することができるようにしたい:
3,1,2
アイデア
私はの結果を注文しようとしています。MySQLクエリは、その行の下にあるフィールドのユーザー設定データに基づいています。MySQLクエリの並べ替え
私はこのように設定し、「割り当て」と呼ばれるテーブルを持っている:
id user_id item_id
-- ------- -------
1 1 1
2 1 23
3 1 304
私はこのように保存されるユーザーテーブルに基づいて、これらの結果を注文することができるようにしたい:
3,1,2
アイデア
あなたはFIELDオプションを使用することができます。
idはあなたが注文したいと以下の注文IDがであるために、テーブルのフィールドですSELECT * FROM assigned ORDER BY FIELD(id,3,1,2)
。
あなたは結果があなたが望むよう命じ取得するキーワードORDER BY
を使用する必要があります:あなたのケースで
SELECT column_name(s)
FROM table_name
ORDER BY column_name(s) ASC|DESC
、あなたでしょう
ORDER BY user_id
それはあなたの質問に答えていない場合は
、してください、あなたが望むものをより正確に教えてください。マックスは
あなたは、リレーショナル・データベース内のテーブルの行が暗黙の順序を持っていることを前提としていてはいけません。すなわち、今日「SELECT * FROM users」があなたが望む順序でデータを返すかもしれない間、それは明日とは異なるかもしれません。
原則として列にも同じことが当てはまりますが、MySQLは他のリレーショナルデータベースと比較して珍しいことですが、列の順序を明示的に指定することができます。
序数を示す列をユーザーテーブルに追加し、割り当てられたテーブルへの結合を使用して並べ替えます。
私がしようとしているのは、ユーザーアカウントの配列に基づいて一連のデータを注文することです。 –
シナリオが明確ではありません。別のテーブルに応じてクエリ結果をソートしますか? – mahadeb