仅在 SQL 视图中保留至少有一个大于某一条件的值的组

问题描述 投票:0回答:1

我有 SQL 视图

data_start
有 3 列

CALMONTH, COSTCENTER, Kontonummer

样本数据:

CALMONTH COSTCENTER Kontonummer
-------------------------------
202301      A           AA
202302      A           AB
202101      B           BA
202012      B           BB
202204      C           CA
202312      C           CB
...

如何仅保留每个

COSTCENTER
组的行,其中
CALMONTH
最大值大于特定值。

例如,我只想保留

COSTCENTER
,其中至少有一个
CALMONTH
大于 202201。

输出应该是:

CALMONTH COSTCENTER Kontonummer
-------------------------------
202301      A           AA
202302      A           AB
202204      C           CA
202312      C           CB
...

我尝试了这个SQL语句:

SELECT 
    "CALMONTH", "COSTCENTER", "Kontonummer"
GROUP BY
    ("COSTCENTER") %>%
    SERIES_FILTER(max("CALMONTH") > 202201) %>%,
FROM "data_start"

但这会导致错误:

错误无关 BY,期待“,”,FROM

SQL 位于 SAP HANA CLOUD 中,称为 SQLSCRIPT。

sql hana
1个回答
0
投票

这可以使用

group by
having
来完成:

select t.*
from data_start t
inner join (
  select COSTCENTER
  from data_start
  group by COSTCENTER
  having max(CALMONTH) > 202201
) as s on s.COSTCENTER = t.COSTCENTER;
© www.soinside.com 2019 - 2024. All rights reserved.