sql—对于表中的每个id,计算该id在另一列中出现的次数mysql数据库

llycmphe  于 2021-07-24  发布在  Java
关注(0)|答案(2)|浏览(499)

表:mytable
[

我想要的结果是:
对于表中的每个id,计算该id在列父id中出现的次数。创建一个自定义列作为 Instances 放置结果。
我想要的结果

我设想用一个不比以下查询的工作版本更复杂的方法得到上述结果:

  1. SELECT ID, Parent_ID, COUNT( Parent_ID = ID ) AS Instances FROM MyTable
fzwojiic

fzwojiic1#

可以使用标量子查询来计算额外的列。例如:

  1. select
  2. id,
  3. parent_id,
  4. (
  5. select count(*) from my_table b where b.parent_id = a.id
  6. ) as instances
  7. from my_table a
izj3ouym

izj3ouym2#

关联子查询是最简单的解决方案:

  1. select t.*,
  2. (select count(*) from mytable t2 where t2.parent_id = t.id) as instances
  3. from mytable t;

相关问题