如何 select 一条外键大于值的记录?

How to select a record which has a foreign key with more than value?

我是 PlSQL 的新手。我有这个 table 代表 2 tables:

之间的关系
ID T1Id T2Id
-- ---- ----
 1    1    1
 2    2    1
 3    2    2
 4    2    3
 5    3    1
...

我在第 2 列 (T1Id) 中有值,其中可能有第 3 列 (T2Id) 中的一个或多个值。 我的问题是如何 select 仅具有超过 1 个 T1Id 值的 T1Id 值。

你有什么想法吗?

如果您只想要 table 中不止一个的 T1Id 值,您可以使用下面的值。

select T1Id, count(T1Id) as countT1 from yourTable
group by T1Id
having count(T1Id) > 1

如果您想 select 其他列,您可以使用行分区来实现此目的

SELECT *
  FROM (SELECT a.*, COUNT (*) OVER (PARTITION BY t1id) AS countT1
          FROM yourTable a)
 WHERE countT1 > 1