Mysql 返回分组变量具有最低秩的ID
对于每个ID号,我需要按类值对ID号进行分组,当存在重复的类值时,使用最低秩……我尝试了几个连接,但没有成功。如果您能对所建议的任何代码进行非常简短的描述,我们将不胜感激。谢谢 表结构:Mysql 返回分组变量具有最低秩的ID,mysql,Mysql,对于每个ID号,我需要按类值对ID号进行分组,当存在重复的类值时,使用最低秩……我尝试了几个连接,但没有成功。如果您能对所建议的任何代码进行非常简短的描述,我们将不胜感激。谢谢 表结构: ID Rank Class A 1 x A 2 x A 3 y A 4 y B 1 x B 2 x B 3 y B 4 y 预期结果: ID Rank Class A
ID Rank Class
A 1 x
A 2 x
A 3 y
A 4 y
B 1 x
B 2 x
B 3 y
B 4 y
预期结果:
ID Rank Class
A 1 x
A 3 y
B 1 x
B 3 y
您应该使用聚合函数
MIN()
,通过id
和class
对进行分组:
select id, min(rank) as MinRank, class
from yourtable
group by id, class
看
您应该使用聚合函数MIN()
,通过id
和class
对进行分组:
select id, min(rank) as MinRank, class
from yourtable
group by id, class
看
使用聚合函数可以做到这一点
SELECT `ID`,
Min(`Rank`) AS `Rank`,
`Class`
FROM tbl1
GROUP BY `ID`,
`Class`
使用聚合函数可以做到这一点
SELECT `ID`,
Min(`Rank`) AS `Rank`,
`Class`
FROM tbl1
GROUP BY `ID`,
`Class`
你说的连接,那些是什么连接?你说的连接,那些是什么连接?嘿,感谢SQL演示链接!我觉得这很简单。我看到的其他查询示例似乎效率极低。@user996544很乐意提供帮助。是的,当发布到这些站点时,SQLFiddle是一个很好的工具sites@user996544假设该表在类列的右侧包含多个数据列。这个查询的问题是,它似乎没有为下面的数据列选择正确的记录。在我看来,我需要与原始表和您建议的查询进行联接,以获取额外的数据列?您可以将此查询用作子查询,然后联接回主表。嘿,感谢SQL演示链接!我觉得这很简单。我看到的其他查询示例似乎效率极低。@user996544很乐意提供帮助。是的,当发布到这些站点时,SQLFiddle是一个很好的工具sites@user996544假设该表在类列的右侧包含多个数据列。这个查询的问题是,它似乎没有为下面的数据列选择正确的记录。在我看来,我需要与原始表和您建议的查询进行联接,以获取额外的数据列?您可以将此查询用作子查询,然后联接回主表。