2016-06-20 5 views
-2

制限クエリを使用して上位5名のディレクターのリストを取得します。最後に制限された行と等しい値

a 137 
b 120 
c 90 
d 76 
e 52 

実際には機能しますが、最後の行には同等の機能を持つ名前がいくつかあります。それはusally起こる...

f 52 
g 52 
h 52... 

クエリがあると:

SELECT 
    T_people.person, 
    COUNT(ID_films) AS CountOfID_films 
FROM 
    ((MT_films 
    JOIN ST_peoplefilms ON ((MT_films.ID_films = ST_peoplefilms.ID_films))) 
    JOIN T_people ON ((T_people.ID_person = ST_peoplefilms.ID_person))) 
GROUP BY T_people.person, T_people.man 
HAVING (T_people.man = 1) 
ORDER BY COUNT(ST_peoplefilms.ID_films) DESC 
LIMIT 5 

感謝たくさん

+0

問題は、最後の行ですべての等しい値を取得することです。感謝の –

+0

あなたが好きな人は、この簡単な2つのステップの行動コースに従うことを検討してください。1.まだ行っていない場合は、問題をより簡単に複製できるように、適切なCREATEおよびINSERTステートメント(および/またはsqlfiddle)を提供します。 2.まだ実行していない場合は、手順1で提供された情報に対応する望ましい結果セットを提供してください。 – Strawberry

答えて

0

は、トップ5の合計を与えるサブクエリを作成しています。次に、あなたが今持っているものを使用します(LIMIT 5と注文を取り除くことができます)。INNER JOINを合計に関してサブクエリに適用します。それは関連していないすべての行をフィルタリングします。

+0

親愛なるグルーバーにはすでに上位5の名前が返されていますが、サブクエリを結合して、 1?ありがとうございました –

+0

@Kostas Konstantinidis:上位5つのtotals_(サブクエリにある整数値)に関して、上位5つの中の合計を含むすべてのエントリが返されることを保証します。 – Gruber

関連する問題