database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 5582 게시물 읽기
No. 5582
날짜별 번호 매기기 (SELECT 만을 이용한)
작성자
이철성(linu92)
작성일
2010-02-25 14:46ⓒ
2023-09-12 09:14ⓜ
조회수
8,787

 N_START_TIME SZ_ID

--------------------------------

1265277408 DAMI2000            
1265277467 DAMI2000            
1265277528 DAMI2000            
1265277588 DAMI2000            
1265277648 DAMI2000            
1265277708 DAMI2000            
1265277767 DAMI2000            
1265277827 DAMI2000            
1265277887 DAMI2000            
1265278086 DAMI2000            
1265278159 DAMI2000            
1265278224 DAMI2000            
1265246139 LINU92              
1265269958 LINU92              
1265270019 LINU92              
1265270631 LINU92              
1265270680 LINU92              
 
위의 데이터를 N_START_TIME 순으로 번호를 매기고 싶습니다.(오른차순)
 
JOIN과 GROUP BY 구문을 통해 해답은 구했지만,
 
SELECT만을 이용해 구하고 싶습니다.
 
SELECT ( SUM( SELECT  ???????) )
FROM 데이터
ORDER BY SZ_ID, N_START_TIME ASC
 
한 row씩 나오는 데이터를 현재까지 scan된 데이터의 합으로 순번을 매기고 싶은데
방법이 없을까요?
(sql 2000입니당) 
 
원하는 결과 :
N_START_TIME SZ_ID N_IDX
---------------------------------------------------------
1265246139 DAMI2000             1
1265273373 DAMI2000             2
1265273448 DAMI2000             3
1265273524 DAMI2000             4
1265273596 DAMI2000             5
1265273668 DAMI2000             6
1265273743 DAMI2000             7
1265273812 DAMI2000             8
1265273887 DAMI2000             9
1265273954 DAMI2000             10
1265274022 DAMI2000             11
1265276112 DAMI2000             12
1265276178 DAMI2000             13
1265276306 DAMI2000             14
1265276366 DAMI2000             15
1265276425 DAMI2000             16
1265276502 DAMI2000             17
1265276562 DAMI2000             18
1265276612 DAMI2000             19
1265276672 DAMI2000             20
1265276732 DAMI2000             21
1265276792 DAMI2000             22
1265276852 DAMI2000             23
1265276911 DAMI2000             24
1265276971 DAMI2000             25
1265277030 DAMI2000             26
1265277109 DAMI2000             27
1265277169 DAMI2000             28
1265277229 DAMI2000             29
1265277289 DAMI2000             30
1265277348 DAMI2000             31
1265277408 DAMI2000             32
1265277467 DAMI2000             33
1265277528 DAMI2000             34
1265277588 DAMI2000             35
1265277648 DAMI2000             36
1265277708 DAMI2000             37
1265277767 DAMI2000             38
1265277827 DAMI2000             39
1265277887 DAMI2000             40
1265278086 DAMI2000             41
1265278159 DAMI2000             42
1265278224 DAMI2000             43
1265246139 LINU92               1
1265269958 LINU92               2
1265270019 LINU92               3
1265270631 LINU92               4
1265270680 LINU92               5
 

tt

이 글에 대한 댓글이 총 2건 있습니다.
가장 편한방법이죠... 스칼라서브쿼리를 이용하시면 됩니다.
상황이나 자료의 특성에 따라서는 성능 저하의 원인이 되기도 합니다.
 
SELECT  a.N_START_TIME
              ,  a.SZ_ID
              ,  (select count(*) from 데이터 where SZ_ID = a.SZ_ID and N_START_TIME  <= a.N_START_TIME  ) n_idx
FROM 데이터 a
ORDER BY a.SZ_ID, a.N_START_TIME ASC

 

지나가다가님이 2010-02-26 10:55에 작성한 댓글입니다. Edit

  와~ 감사합니다. 

스칼라서브쿼리! 지나가다가님 덕분에 많은걸 알게 되네요 좋은 하루 되세요 ^^

이철성님이 2010-02-26 14:21에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
55852008 링크드 서버
임진표
2010-03-02
7295
5584흠... 복합인덱스와 단일인덱스 차이 [1]
인덱스맨
2010-03-02
6148
5583SQL 작성 방법 SQL 기본 문법
박창완
2010-02-26
7383
5582날짜별 번호 매기기 (SELECT 만을 이용한) [2]
이철성
2010-02-25
8787
5581오라클 Linked Server 연결이 안됩니다.
아브라
2010-02-24
7586
5580order by 안에 rand() 벨류요
julia
2010-02-24
6207
5579mssql 서비스의 잦은 다운
정현철
2010-02-23
9196
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다