按 2 个类别输出平均总计 SQL (Amazon Redshift)

Output average grand total by 2 category SQL (Amazon Redshift)

我有 2021 年 1 月过滤的月度数据。所以数据看起来像这样

我想按图像中的绿色框那样按 2 个类别获得平均总计。 如何为这种情况制作 SQL 脚本?

您可以尝试用 case 表达式求和,例如

SELECT
    SUM(
        CASE 
            WHEN Type IN ('Small','Medium') THEN Item
            ELSE 0
        END
    )/2 as AvgGrandTotalFor2Categories
FROM
    my_table

或者可以在计算平均值之前使用 WHERE 子句过滤您感兴趣的记录,例如

SELECT
    SUM(Item)/2 as AvgGrandTotalFor2Categories
FROM
    my_table
WHERE 
    Type IN ('Small','Medium')

如果只有这2类,可能根本不需要WHERE子句

让我知道这是否适合你。

另一种方式...也许能帮到你

您可以使用 SUBQUERYS 来做到这一点,例如:

我会用假的Table因为你不说table的名字和列

Select 
   SUM(a.SUM_ITEM)/2 as AVG_FINAL
from    
   (Select 
       Type, 
       sum(item) as SUM_ITEM 
   from YOUR_TABLE 
   group by Type) as a