【发布时间】:2012-11-21 11:02:56
【问题描述】:
我知道这是Select Rows with Maximum Column Value group by Another Column 的副本,但我想选择具有最大列值的行,按另一列分组,但是没有嵌套的选择语句,我知道它可以这样做:
SELECT
T.Name,
T.Rank,
T.ID
FROM MyTable T
WHERE T.Rank = (
SELECT MAX( T1.Rank) FROM MyTable T1
WHERE T1.Name= T.Name
)
其中ID,
Rank,
Name 是表架构,我想先按名称按结果分组,然后从每个名称组中选择一行,具体取决于哪一行的排名最高。
附件是我要从中选择的表格示例
【问题讨论】:
-
您能否提供一些示例数据和所需的输出?
HAVING子句可能是您正在寻找的内容:dev.mysql.com/doc/refman/5.1/en/select.html -
附上表格样本,谢谢
-
如何使用 HAVING 语句声明我希望那些项目具有最高排名?
-
@DrewPierce 是的,每个名字只有一个输出,在同名项目中排名最高
-
然后只做一个 select name,max(rank) from mytable group by name order by name
标签: mysql sql sql-server