2017-07-14 2 views
0

私はいくつかの会社の組み合わせとメンバーを持っている私がピックアップする何つ以上の行を持つ親カテゴリに属する​​行をフェッチ

Member Table 
id company_id companymember 
1 1   john 
2 1   Tam 
3 2   haya 
4 1   lee 
5 3   kih 
6 3   wild 
7 3   cream 
8 3   earth 

the 3 member names which belonging to the company which has more than two members

である私このようなことが欲しい

  • company_id 2はメンバー1人、第3 ro wが

  • のcompany_id 3を選択されていないので、8行目が

私の目標

1 1   john 
2 1   Tam 
4 1   lee 
5 3   kih 
6 3   wild 
7 3   cream 

が選択されていない、4人のメンバーを持っている私は、それを作る最初のcompany_idsをピックアップし、 ループ各可能性スクリプトでIDを取得して取得します。

ただし、この方法では、SQLは何度も実行されます。

My SQLで1つの文でSQLを実行する良い方法はありますか?

答えて

0

この

select id,company_id,companyMember 
from (Select id 
      ,company_id 
      ,companyMember 
      ,Row_Number() OVER(PARTITION BY company_id ORDER By company_id) AS TotalCount 
     from MemberTable 
    ) as Table1 
where TotalCount <=3 and Company_id in(
             Select Company_id 
             from MemberTable 
             group by Company_id 
             having COUNT(Company_id) >=3 
            ) 
order by id 
+0

を試してみてくださいMySQLは本当にこれをサポートしていますか? – jarlh

+0

私は彼が尋ねたSQL cozでこれを試しました(これを行うには良い方法がありますか?)??? – Sowndarya

+0

SQLはISO/ANSIで指定された言語です。 SQLをサポートする多くの製品があります。 MySQL、Oracle、およびMS SQL Serverに対応しており、いずれも完全なSQLサポートを備えていません。いくつかはより多く、いくつかはより少ない。 – jarlh

関連する問題