您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

从每个组SQL中选择前1个

从每个组SQL中选择前1个

也许这…获得每个城市和菜单名称的最大和。顶部返回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;
SQLServer 2022/1/1 18:49:37 有438人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶