You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何筛选多成员家庭中持有CHK账户的Individual_ID

问题分析与解决方案

原查询的问题

你使用的ROW_NUMBER()窗口函数会给每个家庭内的记录分配唯一序号,筛选Acct_Per_Household > 1会排除每个家庭的第一条记录(比如HH_101的101号个体),但你的需求是保留所有属于多成员家庭的CHK账户,不管它是家庭里的第几个成员。

正确的查询写法

应该使用COUNT()窗口函数统计每个家庭的总成员数,再筛选出总成员数大于1且账户类型为CHK的记录:

WITH cte AS (
    SELECT 
        Individual_ID, 
        Household_ID, 
        AccountType,
        COUNT(*) OVER (PARTITION BY Household_ID) AS Total_Members_Per_Household
    FROM [Test].[dbo].[AccountsInfo]
)
SELECT Individual_ID, Household_ID, AccountType
FROM cte 
WHERE Total_Members_Per_Household > 1 AND AccountType = 'CHK';

执行结果

该查询会输出符合预期的结果:

Individual_ID   Household_ID    AccountType
-------------------------------------------
101             HH_101          CHK
103             HH_101          CHK
107             HH_104          CHK
110             HH_106          CHK

内容的提问来源于stack exchange,提问作者Vivek Kumar Singh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 19:47:10