[SQL] 어떻게 SQL에서 그룹 당 증분 그룹 번호를 반환
SQL어떻게 SQL에서 그룹 당 증분 그룹 번호를 반환
나는 일반적인 날짜에 그룹화 된 행의 점진적 번호 그룹에 SQL에서 데이터 쿼리를 작성하고 다음 날짜 등의 증가 "그룹 번호"를 유지하고 싶습니다. 문 파티션을 사용할 때 보았 듯이 이러한 "그룹 번호는"각 그룹에 대해 재설정되지해야합니다. 여기 내 샘플 데이터는 다음과 같습니다
ts_DateTime |ID |Value|RowFilter|RequiredResult
--------------------------
2013/01/09 09:23:16 |8009 |0 |1 |1
2013/01/09 09:23:16 |8010 |0 |2 |1
2013/01/09 09:23:16 |8026 |0 |3 |1
2013/01/09 09:23:22 |8026 |0 |1 |2
2013/01/09 09:23:28 |8009 |0 |1 |3
2013/01/09 09:23:28 |8010 |0 |2 |3
2013/01/09 09:23:28 |8026 |0 |3 |3
2013/01/09 09:27:03 |8009 |0 |1 |4
2013/01/09 09:27:03 |8010 |0 |2 |4
2013/01/09 09:27:03 |8026 |0 |3 |4
2013/01/09 09:27:09 |8009 |0 |1 |5
2013/01/09 09:27:09 |8010 |0 |2 |5
2013/01/09 09:27:09 |8026 |0 |3 |5
2013/01/09 09:27:15 |8009 |0 |1 |6
2013/01/09 09:27:15 |8010 |0 |2 |6
2013/01/09 09:27:15 |8026 |0 |3 |6
나는 이러한 결과를 얻기 위해 사용하고 쿼리는 다음과 같습니다
select hl.ts_DateTime, hl.Tagname as [ID], hl.TagValue as [Value],
ROW_NUMBER() OVER (PARTITION BY hl.ts_datetime ORDER BY hl.tagname) AS RowFilter
from Table1 hl
그래서 기본적으로의 RowFilter 열을보고, 나는 ts_DateTime 파티션마다 고유 한 행 번호를 얻고있다. 내가 실제로 필요 각 ts_DateTime 파티션의의 RowFilter 열이 필수 결과 열 같이해야한다는 것입니다.
해결법
-
==============================
1.당신은) (ROW_NUMBER를 사용하지 않아야
당신은) (ROW_NUMBER를 사용하지 않아야
질문,
SELECT hl.ts_DateTime, hl.Tagname as [ID], hl.TagValue as [Value], DENSE_RANK() OVER (ORDER BY ts_datetime) AS RowFilter FROM Table1 hl ORDER BY RowFilter
-
==============================
2.난 당신이 찾고있는 생각 :
난 당신이 찾고있는 생각 :
ROW_NUMBER() OVER (PARTITION BY hl.id ORDER BY hl.ts_DateTime) AS RowFilter
from https://stackoverflow.com/questions/14359749/how-to-return-a-incremental-group-number-per-group-in-sql by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 성능과 같은 '% 검색어 %'전체 텍스트 검색을 CONTAINS 쿼리 대 (0) | 2020.05.20 |
---|---|
[SQL] PL / SQL에서 동적 SELECT INTO 절에 바인드 변수 사용 (0) | 2020.05.20 |
[SQL] MySQL은 - 하나 개의 컬럼은 DISTINCT되는 경우 모든 열을 SELECT (0) | 2020.05.20 |
[SQL] C # 데이터 연결 모범 사례? (0) | 2020.05.20 |
[SQL] 이름이 모음으로 시작하고 끝나는 경우 SQL 쿼리 확인 (0) | 2020.05.20 |