【发布时间】:2012-03-22 11:35:29
【问题描述】:
我有两个表(国家和鸭子),其中国家表包含世界上的每个国家,鸭子表有一个鸭子列表,其中包含一个 country_id 字段以链接到主要国家/地区。
我正在尝试获取仅包含至少一只鸭子的国家/地区的列表,并从鸭子表中获得该国家内评分最高的鸭子的单个匹配记录。到目前为止,我有:
SELECT *
FROM country c
INNER JOIN ducks d ON c.id = d.country_id
ORDER BY c.country ASC, d.rating DESC
这会返回每只鸭子的列表,而不是每个国家/地区一个。
如果有人能在这里指出正确的方向,我将不胜感激。我宁愿在 SQL 中执行此操作,也不愿为每个国家/地区单独查询以选出评分最高的鸭子。
【问题讨论】:
-
请参阅:xaprb.com/blog/2006/12/07/…,了解如何执行此操作的示例。
-
你想要哪只鸭子?只是任何人?
-
@dotoree 评分最高(集合中最高的鸭子评分)
标签: php mysql sql join greatest-n-per-group