我有以下代码:
SELECT
hora,
SUM(cada_hora) AS suma_hora
FROM
info
GROUP BY
hora;
输出一个包含所有小时数(从0到23)的表及其各自的总和,如下所示;
Hora | Suma_hora
-----------------
0 | 100000
1 | 200000
2 | 150000
3 | 450000
4 | 120000
... | ...
现在我要做的是从该表中提取Suma_hora
的最大值的一行,并显示小时和相应的最大值。所以它看起来像这样:
Hora | Max_hora
-----------------
3 | 450000
我最接近我想要的答案就是这个,但不幸的是我不知道如何让它显示相应的小时(它只显示最大值,即Max_hora
):
SELECT
MAX(suma_hora) AS Max_hora
FROM
(
SELECT
hora,
SUM(cada_hora) AS suma_hora
FROM
info
GROUP BY
hora
) AS resultado;
非常感谢任何帮助!
注意:添加以下位会出错,因此不起作用:
SELECT
hora, MAX(suma_hora) AS Max_hora
...
答案 0 :(得分:2)
简单就像馅饼amigomío:)只是按照hora的顺序,并采取第一个,像这样:
SELECT
hora,
SUM(cada_hora) AS suma_hora
FROM
info
GROUP BY
hora
Order by suma_hora DESC Limit 1;