select 找到参数的所有 "groups/partitions"
select all "groups/partitions" where parameter is found
无需过多介绍 - 我需要创建数据组(按特定字段分组),然后显示包含参数的所有记录组。我需要 GROUP 中的所有记录,即使有些记录与参数不匹配。任何没有记录包含该参数的组都将被抑制。
我正在使用 db2,我只需要基本语法方面的帮助。我认为在子查询中使用 PARTITION_BY 可能是正确的方法。有任何想法吗?提前致谢。
它回答了问题吗?
with table1 (group_column, expression, other_column) as (
values
('group1', 'false', 'First in G1'),
('group1', 'false', 'Second in G1'),
('group2', 'false', 'First in G2'),
('group2', 'true', 'Second in G2'),
('group3', 'true', 'Full G3')
)
select
table1.group_column, expression, other_column
from table1
inner join
(
select
distinct group_column
from table1
where expression = 'true'
) as groups on table1.group_column = groups.group_column
GROUP_COLUMN
EXPRESSION
OTHER_COLUMN
group2
false
First in G2
group2
true
Second in G2
group3
true
Full G3
无需过多介绍 - 我需要创建数据组(按特定字段分组),然后显示包含参数的所有记录组。我需要 GROUP 中的所有记录,即使有些记录与参数不匹配。任何没有记录包含该参数的组都将被抑制。
我正在使用 db2,我只需要基本语法方面的帮助。我认为在子查询中使用 PARTITION_BY 可能是正确的方法。有任何想法吗?提前致谢。
它回答了问题吗?
with table1 (group_column, expression, other_column) as (
values
('group1', 'false', 'First in G1'),
('group1', 'false', 'Second in G1'),
('group2', 'false', 'First in G2'),
('group2', 'true', 'Second in G2'),
('group3', 'true', 'Full G3')
)
select
table1.group_column, expression, other_column
from table1
inner join
(
select
distinct group_column
from table1
where expression = 'true'
) as groups on table1.group_column = groups.group_column
GROUP_COLUMN | EXPRESSION | OTHER_COLUMN |
---|---|---|
group2 | false | First in G2 |
group2 | true | Second in G2 |
group3 | true | Full G3 |