次のステートメントのクエリを作成する方法が本当に混乱しています。
売上高(合計)が最も多い上位5人の従業員を表示し、フィールドとして位置を表示する方法。両方の従業員の合計売上高が同じである場合、同じポジションを受け取る必要があることに注意してください。つまり、上位5人の従業員が5人以上の従業員を返す可能性があります。
誰でもこれに対する答えを提案できますか?
次のステートメントのクエリを作成する方法が本当に混乱しています。
売上高(合計)が最も多い上位5人の従業員を表示し、フィールドとして位置を表示する方法。両方の従業員の合計売上高が同じである場合、同じポジションを受け取る必要があることに注意してください。つまり、上位5人の従業員が5人以上の従業員を返す可能性があります。
誰でもこれに対する答えを提案できますか?
何かのようなもの:
WITH cte AS (
SELECT
Rank() OVER (ORDER BY SUM(salary) DESC ) AS [Rank]
, SUM(salary) as sum
, Employee
FROM
[table]
GROUP BY
Employee
)
SELECT *
FROM cte
WHERE [RANK] < 5
ORDER BY sum DESC
質問を読み直しましたが、給与の合計ではなく売上のトップカウントを探しているようですが、もちろん、その場合COUNT(sales)
はOVERステートメントで使用できます。