mysql - 带 group by 子句的 SQL 查询

标签 mysql greatest-n-per-group

我已经获取了下面给出的数据,现在我想要 Max(Sum1) 按 pid 分组的记录,但还要提到该最大值的 cname

pid   cname   sum1

23     Abc     946

23     Xyz     920

18     Lmn     900

18     Pqr     1500

现在我想要As

23     Abc   946

18     Pqr   1500   

最佳答案

您可以通过使用来自同一张表的 sum1 的最大值的自连接来做到这一点

select t1.pid, t1.cname, t1.sum1
from Table1 t1
join (SELECT MAX(sum1) sum1,pid from Table1 group by pid) t2
on(t1.pid=t2.pid and t1.sum1 =t2.sum1)

Fiddle

关于mysql - 带 group by 子句的 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22652415/

相关文章:

mysql - 为 "Order By"整数数据创建排名 - MySQL

java - 从一对一关系 hibernate 中的表中删除

php - 将两个简单的 SQL 查询转换为 Doctrine

mysql - SQL中使用distinct和max进行查询

mysql - 检索每组中的最后一条记录 - MySQL

mongodb - 在 mongo 中,我如何使用 map reduce 按最近的顺序获取一组

mysql - 查询优化 - 在 SQL 中有效地整理一对多关系表的结果

mysql - 在同一个表上使用不同的 group By 子句连接 2 个查询的结果

MySQL 按顺序查找每组最近/最大记录

mysql - SQL 各选其一