按 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
我有 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