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
운영게시판
최근게시물
MySQL Q&A 31440 게시물 읽기
No. 31440
표시 순서 변경하기
작성자
mossmin
작성일
2023-06-30 11:39
조회수
6,376

미리 감사드립니다,

with tableA as (

select 1 as ID, 0 as sort_order, 'A' as title from dual union all

select 5 as ID, 0 as sort_order, 'A1' as title from dual union all

select 6 as ID, 0 as sort_order, 'A2' as title from dual union all

select 7 as ID, 0 as sort_order, 'A2' as title from dual union all

select 7 as ID, 0 as sort_order, 'A3' as title from dual union all

select 2 as ID, 2 as sort_order, 'B' as title from dual union all

select 3 as ID, 3 as sort_order, 'B1' as title from dual union all

select 4 as ID, 4 as sort_order, 'B2' as title from dual

)

select ROW_NUMBER() OVER(ORDER BY sort_order,title) as rowno,title,id,sort_order

from tableA
결과_1
rowno,title,id,sort_order
1    A    1    0
2    A1    5    0
3    A2    6    0
4    A2    7    0
5    A3    7    0
6    B    2    2
7    B1    3    3
8    B2    4    4

결과_1에서 rowno=5인 행을 드래그하여 rownor=3위치로 이동한 경우 sort_oder를 변경하고자 합니다.
rowno=3 이후의 데이터를 조회 하여, sort_order를 업데이트 하려고 합니다.
여기서  rowno=3(id=6) 이후의 데이터를 조회하는 방법이 있을까요?

 

이 글에 대한 댓글이 총 3건 있습니다.

질문이 좀 부족해 보입니다.

1. MySQL 이 아닌 Oracle 인 듯 하구요.

 - 근거는 FROM dual

2. 순번을 부여하는 기준값에 중복이 있어 모호합니다.

 - 기준 추가가 필요해 보입니다.

 - 수정전 : ORDER BY sort_order, title

 - 수정후 : ORDER BY sort_order, title, id

 - 그런데 이것도 맞는지 의문입니다. title 도 중복이 있고, id 도 중복이 있네요?

3. 업데이트를 하려고 하는데?

 - 어떻게 바꾸고자 하는지가 언급되어 있지 않습니다.

 - 변경 전후 비교표를 올려주시면 좋을 듯 합니다.

 

마농(manon94)님이 2023-07-04 23:05에 작성한 댓글입니다.

댓글 감사합니다. 질문이 많이 부족했습니다.


1.mysql 에서도 dual이 실행이 되어서 그대로 올렸습니다.

2.id는 중복이 되지 않습니다. 데이터를 잘못 올렸습니다.

    5    A3    8    0

3.'결과_2' 와 같이 되기를 원합니다.


결과_2

rowno,title,id,sort_order

1    A    1    0

2    A1    5    0

5    A3    8    0

3    A2    6    1

4    A2    7    2

6    B    2    3

7    B1    3    4

8    B2    4    5

mossmin님이 2023-07-06 18:35에 작성한 댓글입니다. Edit

굳이 0,0,0,1,2,3,4,5 로 갱신할 필요 있나요?

그냥 순서대로 1,2,3,4,5,6,7,8 로 갱신하는게 편하지 않을까요?

마농(manon94)님이 2023-07-10 10:56에 작성한 댓글입니다.
이 댓글은 2023-07-10 10:56에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
31444mysql mad,mai파일 [2]
살려줘요
2024-02-15
609
31443고수님분께 여쭙니다. [10]
cheongha
2024-02-13
624
31442MYSQL 쿼리튜닝 [2]
사랑이
2023-12-17
2007
31440표시 순서 변경하기 [3]
mossmin
2023-06-30
6376
31439mysql procedure 진행 시 에러
inseong
2023-04-18
13474
31415복합키 조인 및 조회 [2]
mossmin
2023-03-09
14207
31414v24n1 을 제24권 제1호 로 s224를 제 244권 으로 어떻게 바꿀까요?? [3]
김종수
2023-03-02
14218
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다