mysql - SQL:组合 sum 和 max 聚合函数

标签 mysql sql

如何从以下查询中获取最大值:

select sum(hours) from works_on group by pno;   
+------------+
| sum(hours) |
+------------+
|      52.50 |
|      50.00 |
|      55.00 |
|      25.00 |
|      55.00 |
+------------+

我想要的是:

|      55.00 |
|      55.00 |

提前致谢。

最佳答案

使用Having 子句和子查询。像这样

SELECT Sum(hours) 
FROM   works_on 
GROUP  BY pno 
HAVING Sum(hours) = (SELECT Sum(hours) h 
                     FROM   works_on 
                     GROUP  BY pno 
                     ORDER  BY h DESC 
                     LIMIT  1) 

但是在 SQL SERVER 中它真的很容易,我们有 TOP 1 with Ties 避免了 sub-query

关于mysql - SQL:组合 sum 和 max 聚合函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39438027/

相关文章:

mysql - 在 Laravel Query Builder 中使用 `AND`,语法错误(orOn)

mysql - SQL,Where 函数用 YES/No 条件提取字段

PHP $_POST 错误 请帮助我 我正在学习 PHP

c# - 带有 SQL 通配符的 String.Format 导致 Dapper 查询中断

sql - 愚蠢的 SQL Q : Count from a query

python - SqlAlchemy in_ operator with NULL

只有重启mysql守护进程后mysql重复条目错误

mysql - 有没有办法为某一列选择一定数量的行?

mysql - 将所有数据与特定选择的用户 ID 的数据进行比较?

mysql - 项目 SQL 剩余空间