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

如何筛选ID被作为父ID使用且满足最小次数要求的行

解决方案:按父ID使用次数筛选行

数据表结构

Idparent id
1Null
2Null
31
41
51
62
72
82
92
102

需求说明

设置参数Min parent id count,统计每个ID被作为父ID的使用次数,筛选出使用次数≥该参数的行:

  • 当参数设为2时,返回ID为1(被使用3次)和2(被使用5次)的行
  • 当参数设为4时,仅返回ID为2的行

SQL实现

以MySQL为例,通过以下代码实现:

-- 设定最小次数参数
SET @min_count = 2;

-- 查询符合条件的行
SELECT t.*
FROM your_table t
INNER JOIN (
    -- 统计每个父ID的使用次数并筛选达标项
    SELECT `parent id` AS parent_id, COUNT(*) AS use_count
    FROM your_table
    WHERE `parent id` IS NOT NULL
    GROUP BY `parent id`
    HAVING use_count >= @min_count
) parent_stats ON t.Id = parent_stats.parent_id;

代码解释

  1. 参数设定:通过SET @min_count = 2设置最小次数,可根据需求修改数值
  2. 子查询parent_stats:
    • 过滤掉parent id为空的行(空值不属于有效父ID)
    • 按parent id分组,统计每个ID作为父ID的使用次数
    • 用HAVING筛选出使用次数≥参数的父ID
  3. 主查询:将原表与子查询结果关联,获取达标父ID对应的完整行

内容的提问来源于stack exchange,提问作者smjadeja

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 09:55:24