2014-01-23 1 views
0

특정 인물의 최소 레코드 수 (N)를 기준으로 단일 테이블의 레코드를 선택하고 싶습니다. 예를 들어, 다음 N = 2, 경우최소 레코드 수 (COUNT) 일치 조건 필터

Name Time 
John 09:00:00 
Sam 09:05:00 
Sally 09:06:00 
John 09:10:00 
Jane 09:15:00 
Joe 09:16:00 
Sally 09:22:00 

레코드를 계산하지만, 내가 그들을 어떻게 선택합니까

Name Time 
John 09:00:00 
Sally 09:06:00 
John 09:10:00 
Sally 09:22:00 

그것은 쉽게 아래로 필터?

답변

0

기능별로 그룹을 사용하십시오.

select count(*),Name from table_name group by Name 
0

이 시도 :

select * 
from mytable 
where name in (
    select name 
    from mytable 
    group by name 
    having count(1) =2 
) 
0

당신은 첫 번째 그룹은 특정 사람이 발생 횟수하여 기록합니다 :

select count(1), name 
from Person 
group by name; 

다음, 당신이 원하는이 발생하는 사람을 선택 2 회 이상 :

각 열을 고유하게 식별하는 id 열이 Person 테이블에 있다고 가정합니다.

기본적으로 두 번 이상 나타나는 사람의 id을 먼저 선택한 다음 해당 사람에 대해 원하는 데이터를 선택합니다.