私は1週間あたりの人の投稿の総数を返すクエリを書いています。以下のように...どうすれば毎週の毎週を探し、毎週トップ10の値を返すSQLクエリでループを作成できますか?
Person WeekNumber Total
ABC 1 12
ADE 1 10
ACD 1 8
LKJ 2 15
HJK 2 14
FGH 2 12
これまでのところ、私は毎週のトップの人を選択することができる以外のすべてを行うには、クエリを持っています。私はループを使用してこれを行う必要があるかもしれないと思っていますが、誰かがより良い/簡単なアイデアを持っているかどうかを確認しようとしていますか?
は、ここに私のクエリです:
Select sub.Person, sub.WeekNumber, sum(sr_id_count) as TotalSRID
from
(
SELECT
Person,
DATEDIFF(week, '2016-12-25', create_date) AS WeekNumber,
count(SR_ID) as SR_ID_COUNT
from [dbo].[tbl_Hist]
where create_date >= '01/01/2017'
and SR_STatus <> 'Canceled'
and Created_by <> 'System'
group by person, create_date
) sub
group by sub.Person, sub.WeekNumber
order by WeekNumber, TotalSRID desc
構文はSQL Serverですが、質問はMySQLにタグ付けされています。 –
私は謝罪し、編集しました! – SMBRADBE