我經常需要在 SQL Server 中做一些我不知道如何正確做的事情。
基本上,如果我有一張#sample像這樣的表:
| 部 | 日期 |
|---|---|
| 會計 | 一個 |
| 金融 | 一個 |
| 工資單 | 一個 |
| 會計 | 乙 |
| 工資單 | 一個 |
| 金融 | 一個 |
| 工資單 | 乙 |
| 工資單 | C |
我需要查詢該表以獲得如下輸出:
| 部 | 日期 | 杜佩克 |
|---|---|---|
| 會計 | 一個 | 1 |
| 會計 | 乙 | 2 |
| 金融 | 一個 | 1 |
| 金融 | 一個 | 1 |
| 工資單 | 一個 | 1 |
| 工資單 | 一個 | 1 |
| 工資單 | 乙 | 2 |
| 工資單 | C | 3 |
在我以前作業的 Oracle Hyperion Brio 中,我曾經為每一行創建一個值為 1 的列,并在該列上撰寫一個函式 Cume,其中包含我需要計算的列的中斷值。
在 Excel 中,我可以創建一個包含我的中斷值的連接列,然后countif(concat:concat,concat1)復制該公式。
我覺得它應該與此類似,但根本不是這樣:
ROW_NUMBER() OVER (PARTITION BY #sample.Department ORDER BY #sample.Date) DUPECHECK
幫幫我?
uj5u.com熱心網友回復:
您可以使用dense_rank()。
DENSE_RANK() OVER(PARTITION BY #sample.Department ORDER BY #sample.Date)DUPECHECK
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/399472.html
標籤:sql sql-server 查询语句
上一篇:定制訂單
