所以,假设我有一张表:
Name Born
John 1994-01-01
John 1994-02-08
Jack 1995-03-09
Bob 1992-03-10
Tom 1995-07-13
Ronda 1984-01-25
我想说它只显示
John 1994-01-01
Ronda 1984-01-25
Jack 1995-03-09
Bob 1992-03-10
因为他们出生在同一个月。
我尝试使用EXTRACT进行不同的选择,但它似乎对我不起作用:|
答案 0 :(得分:3)
您可以使用窗口函数执行此操作:
select t.*
from (select t.*,
count(*) over (partition by extract(month from born)) as cnt
from t
) t
where cnt > 1
order by extract(month from born);