我正在尝试编写一个查询,显示一个id列和一个自定义计算。
Select c.ID,
CASE
WHEN m.TYPE='Category 1'
THEN ROUND((COUNT(c.ID)-sum(m.TICKETS))/COUNT(C.ID),2)
END Custom_Calc
from Master_Data M
inner join Collection_Data C
on M.CASE__C=C.ID
group by
c.ID
当我运行这个查询时,它会产生一个错误
ora-00979:不是表达式分组
我知道我需要包括 m.Type
在 group by
但我不想看到该级别的数据。它为每一行生成两行 ID
. 理想情况下,我只希望每一行 ID
. 我试过了 OVER (PARTITION BY ())
子句,但它总是要求我按我不希望的类型对结果进行分组。这对计算很重要。
有人能帮我吗?非常感谢。
1条答案
按热度按时间c6ubokkw1#
你可以试着移动
CASE
将表达式转换为聚合函数。目前还不清楚您正在尝试应用哪些聚合函数
m.TYPE='Category 1'
筛选到,因此我假设您正在尝试筛选所有聚合: