也许这…获得每个城市和菜单项名称的最大和。顶部返回1行,而不是每组一行。您需要使用最大聚合来使此工作按您想要的方式进行。
您不能将合计的max(sum(Quantity))加倍,因此必须使用子选择或使用CTE(公用表表达式)。这是子选择。
Select city, itemName, max(Quantity)
FROM (
SELECT
l.city AS City,
mi.name AS ItemName,
SUM(ft.quantity_sold) AS Quantity
FROM
FactTable ft
JOIN MenuItem mi ON (ft.menuItemID = mi.ID)
JOIN Location l ON (ft.locationID = l.ID)
GROUP BY
l.city, mi.name) sub
GROUP BY City, ItemName;