Sql Oracle按功能分组
我有一个如下所示的表格,在价格\数量\成本\指标列中,有三个不同的值:Sql Oracle按功能分组,sql,oracle,select,group-by,Sql,Oracle,Select,Group By,我有一个如下所示的表格,在价格\数量\成本\指标列中,有三个不同的值: 成本 价格 卷 我想表演 SELECT PRICE_VOLUME_COST_INDICATOR, SUM(AMOUNT) FROM MY_TABLE GROUP BY PRICE_VOLUME_COST_INDICATOR 但我不想把“价格”记录分组。仅就“价格”记录而言,我想要任何金额值 我期望得到以下结果: 由于根据评论,所有“价格”记录的金额都相同,因此您可以使用聚合的max(或min)只获取其中
SELECT PRICE_VOLUME_COST_INDICATOR,
SUM(AMOUNT)
FROM MY_TABLE
GROUP BY PRICE_VOLUME_COST_INDICATOR
但我不想把“价格”记录分组。仅就“价格”记录而言,我想要任何金额值
我期望得到以下结果:
由于根据评论,所有“价格”记录的金额都相同,因此您可以使用聚合的
max
(或min
)只获取其中一个,并使用case
表达式在max
和sum
之间进行选择,具体取决于价格、数量和成本指标:
SELECT price_volume_cost_indicator,
CASE price_volume_cost_indicator WHEN 'PRICE' THEN MAX(amount)
ELSE SUM(amount)
END
FROM my_table
GROUP BY price_volume_cost_indicator
根据注释,由于所有“价格”记录的金额相同,因此您可以使用聚合的
max
(或min
)仅获取其中一个,并使用案例
表达式在max
和总和
之间进行选择,具体取决于价格、数量和成本指标:
SELECT price_volume_cost_indicator,
CASE price_volume_cost_indicator WHEN 'PRICE' THEN MAX(amount)
ELSE SUM(amount)
END
FROM my_table
GROUP BY price_volume_cost_indicator
你能澄清这个输出吗?您是否只返回一个“价格”记录,因为两者的金额相同,为36.15?对于所有“价格”记录,金额将相同。我想返回一条记录,请阅读并接受回答Sure@a_horse_,并带有_no_名称,我将在下次发布问题时记住这一点。您能澄清此输出吗?您是否只返回一个“价格”记录,因为两者的金额相同,为36.15?对于所有“价格”记录,金额将相同。我想返回一张记录,请阅读并接受回答Sure@a_horse_,没有名字,下次发帖时我会记住这一点。