Mysql 聚合后选择最大的列
Mysql picking the greatest columna after aggregation
我有 table 件已售出的商品,具有指定的名称、日期、时间和售出商品数量。
我需要做的是每天找出(任何类型的)最大数量商品售出的时间,以及 return 包含日期和金额的两列 table项目数。
我设法做的是计算每小时的商品总和,但是如何选择商品销售量最大的时间并将其与一天一起显示?
这是我糟糕的 sqlfiddle 尝试:http://sqlfiddle.com/#!9/93b51/17/0
select day, hour, sum(amount) as suma
from sold_items
group by day, hour
select day, max(suma)
from
(
select day, hour, sum(amount) as suma
from sold_items
group by day, hour
) tmp
group by day
SQLFiddle
您需要将您的查询与 juergen d 每天获得最大小时量的查询合并。
SELECT a.day, a.hour, a.suma
FROM (
select day, hour, sum(amount) as suma
from sold_items
group by day, hour) AS a
JOIN (
select day, max(suma) AS maxsuma
from (
select day, hour, sum(amount) as suma
from sold_items
group by day, hour) AS tmp
group by day) AS b
ON a.day = b.day AND a.suma = b.maxsuma
这遵循与 SQL Select only rows with Max Value on a Column 相同的模式,除了在这种情况下,您使用计算聚合的子查询来执行此操作,而不是直接来自 table 的数据。
我有 table 件已售出的商品,具有指定的名称、日期、时间和售出商品数量。
我需要做的是每天找出(任何类型的)最大数量商品售出的时间,以及 return 包含日期和金额的两列 table项目数。
我设法做的是计算每小时的商品总和,但是如何选择商品销售量最大的时间并将其与一天一起显示?
这是我糟糕的 sqlfiddle 尝试:http://sqlfiddle.com/#!9/93b51/17/0
select day, hour, sum(amount) as suma
from sold_items
group by day, hour
select day, max(suma)
from
(
select day, hour, sum(amount) as suma
from sold_items
group by day, hour
) tmp
group by day
SQLFiddle
您需要将您的查询与 juergen d 每天获得最大小时量的查询合并。
SELECT a.day, a.hour, a.suma
FROM (
select day, hour, sum(amount) as suma
from sold_items
group by day, hour) AS a
JOIN (
select day, max(suma) AS maxsuma
from (
select day, hour, sum(amount) as suma
from sold_items
group by day, hour) AS tmp
group by day) AS b
ON a.day = b.day AND a.suma = b.maxsuma
这遵循与 SQL Select only rows with Max Value on a Column 相同的模式,除了在这种情况下,您使用计算聚合的子查询来执行此操作,而不是直接来自 table 的数据。