我有兩個表,項目中的一個,誰舉報的項目的用戶之一。下面是一個示例:如何實行正確的排序,嵌套查詢
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
查詢我現在所擁有的是select * from items where id in (select item_id from flags group by item_id order by count(*) desc);
我知道內部查詢正常工作(返回所有的ID以正確的順序),但是當我運行整體查詢,我只是按項目ID順序獲取項目。我如何解決我的查詢?
這看起來類似的問題,我最近詢問。請參閱[鏈接] http://stackoverflow.com/questions/10131150/mysql-which-value-has-maximum-count [/ link]。 hth – geoB 2012-04-20 23:43:09