data 이렇게 있습니다.
SELECT 하면 이렇게 나옵니다.
인덱스 대분류 중분류 콘텐츠이름 표시순서
53566 한글 단계학습 내몸을알아요(학습) 1
53567 한글 단계학습 내몸을알아요(게임) 2
53564 한글 처음학습 구멍이~ 두개! 3
53565 한글 처음학습 윙~크 놀이 4
53568 한글 단계학습 즐거운 우리집(학습) 5
53569 한글 단계학습 즐거운 우리집(게임) 6
53570 한글 단계학습 오세요 우리집에(학습) 7
53571 한글 단계학습 오세요 우리집에(게임) 8
그룹을 이렇게 하고 싶습니다..
A 한글 단계학습
B 한글 처음학습
C 한글 단계학습
구분하고 싶습니다.
도와주세요..!
Comment 2
-
네오워니
2014.03.07 15:32
SELECT A.*, (SELECT SUM(X.B)FROM (select A.*, B."표시순서" AS "표시순서2", CASE WHEN A."대분류" = B."대분류" AND A."중분류" = B."중분류" THEN 0ELSE 1END BFROM T ALEFT OUTER JOIN T BON A."표시순서" = B."표시순서" + 1) XWHERE X."표시순서" <= A."표시순서")FROM T AORDER BY A."표시순서"지인 도움을 받음 ㅎㅎ/ -
minsouk
2014.03.07 22:54
select char(ROW_NUMBER() over (order by (select 1)) + 64), a.대분류, a.중분류
from tblx a
left join tblx b
on a.대분류 = b.대분류
and a.중분류 = b.중분류
and a.표시순서 = b.표시순서 + 1
where b.인덱스 is null이러면 좀 더 쉽지 않을까요?
앞에 구분값은 몇개 없는거죠? 알파벳 넘어가면...희안한게 나오므로 그냥 row_number 를 쓰는것도 좋습니다.
너무 어렵게 풀면....뒷사람 힘들어요~