【问题标题】:How to get the row's whose id' value is used in other rows as parent id value如何获取其id\'值在其他行中用作父id值的行
【发布时间】:2023-01-03 01:23:15
【问题描述】:

Id  parent id
1.  Null
2.  Null 
3.   1
4.   1
5.   1
6.   2
7.   2 
8.   2
9.   2
10.  2

我有这张桌子

我想要这样的东西

我有一个参数 最小父 ID 计数

这意味着如果我设置 min parent id count 2 我应该得到 id 为 1 的行和 id 为 2 的原始数据

导致 id 为 1 的行在父 id 中使用了 3 次 id 为 2 的行在父 id 中使用了 5 次

如果将 min parent id count 设置为 4 我应该只得到 id 为 2 的行,因为 id 在父 id 中使用了 5 次

我想要的是检查每一行其 id 值在父 id 中用作值的次数 因为这里是 1 被使用了 3 次 而id 2被使用了5次

【问题讨论】:

  • Postgresql和mysql是两种不同的产品,sql的实现不同。你用哪一个?这个问题与 python 或 django 有什么关系?

标签: sql


【解决方案1】:

获取 parent_id 列中的 ID 数量:

SELECT parent_id, count(*) 
  FROM my_table 
 GROUP BY parent_id

获取列 parent_id 中编号 > 3 的所有 ID:

SELECT parent_id, count(*) 
  FROM my_table
 GROUP BY parent_id
HAVING count(*) > 3

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-29
    • 1970-01-01
    相关资源
    最近更新 更多