SQL Server 2017을 사용하고 있습니다.
표:
CREATE TABLE [T1]
(
REC_ID decimal(28,6) NOT NULL,
BUSINESS_NR decimal(10,6) NULL,
Description varchar(20) NULL,
);
INSERT INTO T1 (REC_ID,BUSINESS_NR, Description)
VALUES (312, 1, 'Created'),
(314, 1, 'Adjustment'),
(356, 2, 'Created'),
(388, 1, 'NoChange'),
(565, 2, 'Adjustment'),
(701, 2, 'NoChange'),
(769, 1, 'Adjustment'),
(832, 2, 'Adjustment'),
(992, 2, 'Closed'),
(995, 1, 'Closed');
질문:
각 '조정'에 Business_NR 당 연속 번호를 부여하고 싶습니다.
예
SELECT *
FROM T1 .......
ORDER BY Business_NR ASC, REC_ID ASC
산출:
+--------+-------------+-------------+-----------------+
| REC_ID | BUSINESS_NR | Description | Adjustment Count|
+--------+-------------+-------------+-----------------+
| 312 | 1 | Created | |
| 314 | 1 | Adjustment | 1 |
| 388 | 1 | NoChange | |
| 769 | 1 | Adjustment | 2 |
| 995 | 1 | Closed | |
| 356 | 2 | Created | |
| 565 | 2 | Adjustment | 1 |
| 701 | 2 | NoChange | |
| 832 | 2 | Adjustment | 2 |
| 992 | 2 | Closed | |
+--------+-------------+-------------+-----------------+
정보 : REC_ID
각 테이블 항목에 대해 고유하고 연속적입니다.
표시하려는 유용한 시도가 없으므로 쿼리 샘플을 추가하지 않았습니다.
SQL FIDDLE : 링크
당신은 단지를 원하는 것 같다 ROW_NUMBER
A의 CASE
표현 :
CASE [Description] WHEN 'Adjustment' THEN ROW_NUMBER() OVER (PARTITION BY BUSINESS_NR, [Description] ORDER BY REC_ID ASC) END AS AdjustmentCount
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다