毎月特定の顧客に請求が行われる日付の数を数える必要があります
Table1という名前のテーブルについて考えてみます。
Branch Month Date Amount
----------------------------------------
B1 April 01/04/20 10000
B1 April 14/04/20 13000
B1 May 01/05/20 25000
B1 May 14/05/20 23000
次のコードを試しました
Select
Branch, Month, Date, Amount,
Row_Number() over (partition by Branch order by Month) as rowcount
from table1
その結果は
Branch Month Date Amount rowcount
----------------------------------------
B1 April 01/04/20 10000 1
B1 April 14/04/20 13000 2
B1 May 01/05/20 25000 3
B1 May 14/05/20 23000 4
必要な結果は、列の月に基づいてブランチという名前の列をカウントする必要があります。目的の結果は次のとおりです。
Branch Month Date Amount rowcount
---------------------------------------------
B1 April 01/04/20 10000 1
B1 April 14/04/20 13000 2
B1 May 01/05/20 25000 1
B1 May 14/05/20 23000 2
ここで、行数は列ブランチと月の両方に基づいていますが、どうすればこの結果を得ることができますか?
でパーティション化する必要がありmonth
ます。このようなもの:
row_number() over (partition by Branch, month order by Month)
month
繰り返されることに注意してください。アンは、order by
あなたが必要とするので、SQL Serverで必要とされている何かを。その他のオプションは次のとおりです。
row_number() over (partition by Branch, month order by (select null))
row_number() over (partition by Branch, month order by date)
最後はあなたが本当に欲しいものだと思います。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加