2つのテーブル、アイテムの1つ、アイテムにフラグを付けたユーザーの1つがあります。次に例を示します。ネストしたクエリで正しい順序付けを行う方法
items: flags:
item_id | item_name | owner_id item_id | flagged_by
------------------------------ --------------------
1 | foo | 1 1 | 2
2 | bar | 2 2 | 4
3 | baz | 2 2 | 7
2 | 7
私は旗の数が発注フラグテーブルにあるすべての項目についての項目テーブルからの情報を、選択します。したがって、上記の例のために、私の所望の出力が
item_id | item_name | owner_id
------------------------------
2 | bar | 2
1 | foo | 1
だろう、私が今持っているクエリは、私は内側のクエリが正常に動作することを知っている(正しい順序ですべてのIDを返します)が、ときselect * from items where id in (select item_id from flags group by item_id order by count(*) desc);
です全体的なクエリを実行すると、アイテムIDの順にアイテムが取得されます。クエリを修正するにはどうすればよいですか?
これは私が最近聞かれる質問に似ています。 [link] http://stackoverflow.com/questions/10131150/mysql-which-value-has-maximum-count [/ link]を参照してください。 hth – geoB