我有两个表,项目中的一个,谁举报的项目的用户之一。下面是一个示例:如何实行正确的排序,嵌套查询
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