我有一个查询来提取下表,但我真正感兴趣的是抓取的是我的结果生成的突出显示的行。我试图在查询中写一个case语句,但我意识到我省略了一些我想保留的grp_mkt记录。逻辑基本上是我想要不在grp_mkt和段中的段的记录,如果你不在grp_mkt中。我可以联系同一个查询来查找这个但是这些表格很大(展示级数据)我宁愿不再尝试拉表。
答案 0 :(得分:0)
您似乎想要提取一次细分市场,优先考虑任何市场,但grp_market
。这是一种方式:
with t as (
select t.*,
row_number() over (partition by segment order by (case when market = grp_mkt then 1 else 2 end) desc) as seqnum
from <your query/table here> t
)
select t.*
from t
where seqnum = 1;
如果您可以拥有多个细分受众群(非grpmkt)并且您想要所有细分受众群,那么使用rank()
代替row_number()
就可以了。