2016-10-10 2 views
0

회사의 최대 소비자를 찾아야하는 다음 표가 있습니다. 나는 사용자 테이블과 회사 테이블을 가지고 있습니다. 사용자는 다른 회사의 많은 제품을 사용할 수 있으며 회사는 많은 사용자를 소비자로 가질 수 있습니다. USER_ID는 회사의 테이블에서 사용되는 foreign_key 사용자 테이블과 COMPANY_ID에서이 표에 사용 된 외래 키입니다동일한 열 값을 갖는 행 얻기

consumers_company

한다고 가정 우리는 다음과 같은 데이터를 가지고있다 -

user_id | company_id 
--------------------- 
    6  | 1  
    6  | 2  
    7  | 5  
    8  | 8  
    8  | 1 
    8  | 8   

이제 회사 1에는 최대 사용자가 있습니다.이 검색어를 사용하여 1을 초과하는 사용자를 가진 회사를 찾습니다.

,210
SELECT * 
FROM consumers_company 
WHERE company_id IN (
SELECT company_id 
FROM consumers_company 
GROUP BY company_id 
HAVING COUNT(company_id) > 1) 

내 출력 : -

user_id | company_id 
-------------------- 
6  | 1 
8  | 8   
8  | 1   
8  | 8     

필수 출력 : -

user_id | company_id 
-------------------- 
6  | 1 
8  | 1   

나는 MySQL.Please에서 초보자 나 좀 도와입니다.

+0

어떻게 논리적으로 필요한 출력을 일반 말로 전달합니까? – Drew

+0

기본 키가 없습니다. 이것은 문제가 될 수 있습니다. – Strawberry

답변

0
select * from consumers_company where company_id in 
(select company_id from consumers_company group by company_id 
order by count(distinct user_id) desc limit 1) 

첫 번째는 consumers_company에서 가장 독특한 USER_ID 관계는이 모든 소비자를 알려주지 table.And이 회사를 찾을 수 있습니다.

+0

나는 이미 최대 소비자를 가진 회사를 더 알아 내기 위해 문제를 가지고 있음을 발견했다. – user4946127

+0

그냥 하위 쿼리를 사용하십시오, 그것은 최대 소비자 수가있는 회사 ID입니다 – amow

관련 문제