【发布时间】:2011-07-18 17:50:24
【问题描述】:
我有一个names 的 MySQL 表,它由两个字段组成:name 和 rank。 name 值不唯一,可以有多个匹配项。
问题:我想选择记录,按name分组,但是如果有多个name,应该取rank最高的那个。
一个例子:
汤姆 2
本 1
本 2
SELECT * FROM
namesGROUP BYname通过rankDESC 订购
通常返回:
汤姆 2
本 1
我需要:
汤姆 2
本 2
因为有两个 Ben,但第二个排名更高。
似乎 MySQL 分组采用了名字而忽略了其余的。
我如何在“group by”中对记录进行排序,所以我可以说如果有多个具有相同 name 的记录应该采取哪条记录?
【问题讨论】: