2016-06-21 15 views
0

最も接続された頂点/タプルのクエリは、どのように見えますか?例えばほとんどの接続された「頂点」のSQLクエリ

再び映画や俳優サンプル表:

Movies (moviesID, title) 
Actors (actorsID, name) 
Relations (moviesID, actorsID) 

はおそらく、内部結合が使用して?例では、素晴らしいことだ - 感謝

+0

どのSQLベンダーを使用していますか? Oracle、Microsoft、MySQL、Postgre? –

+0

SELECT TOP 1あなたのIDからFROMテーブルGROUP BY yourID ORDER BY COUNT(*)DESC – mxix

+0

私はマイクロソフト –

答えて

0
SELECT TOP 1 
      A.actorsID, A.name, COUNT(R.moviesID) AS MovieCount 
FROM  Actions  A 
INNER JOIN Relations R  ON A.actorsID = R.actorsID 
GRROUP BY A.actorsID, A.name 
ORDER BY MovieCount DESC 
1

あなただけのactorsIdをしたい場合は、何が加入は必要ありません:重複があるかもしれないので

select top 1 actorsId, count(*) as nummovies 
from relations r 
group by actorsId 
order by nummovies desc; 

は、あなたがtop 1 with tiesをお勧めします:

select top 1 with ties actorsId, count(*) as nummovies 
from relations r 
group by actorsId 
order by nummovies desc; 

また、アクターが同じムービーに複数のロールを持つ可能性があるため、異なるロールがデータベースに表示される場合は、count(distinct)

select top 1 with ties actorsId, count(distinct moviesId) as nummovies 
from relations r 
group by actorsId 
order by nummovies desc; 
関連する問題