반응형
MariaDB ROW_NUMBER(주문 번호 포함)가 올바르게 주문되지 않음
메뉴 항목을 해당 언어 메시지 내용별로 정렬하기 위해 간단한 쿼리를 설정했지만 이상하게도 행 번호가 올바르게 설정되지 않습니다.질문은 다음과 같습니다.
SET @idx = 0;
SELECT (@idx:=@idx + 1) AS neworderindex, a.id, a.messagecontent FROM (
SELECT m.id, l.messagecontent
FROM app_menuitem m
INNER JOIN app_language l ON m.id = l.messagekey AND l.locale = 'it'
WHERE m.parent_id = 'some.parent.id'
ORDER BY l.messagecontent
) a;
하위 쿼리를 먼저 실행해보니 결과가 올바르게 정렬되어 있습니다. @idx 변수에 무슨 일이 일어나고 있는지 모르겠습니다.
창 기능 사용:
SELECT ROW_NUMBER() OVER (ORDER BY l.messagecontent) as neworderindex,
m.id, l.messagecontent
FROM app_menuitem m INNER JOIN
app_language l
ON m.id = l.messagekey AND l.locale = 'it'
WHERE m.parent_id = 'some.parent.id'
ORDER BY l.messagecontent;
이 기능은 MariaDB 10.2.0과 함께 2016년에 릴리스되었습니다.
언급URL : https://stackoverflow.com/questions/65491292/mariadb-row-number-with-order-by-not-ordering-correctly
반응형
'programing' 카테고리의 다른 글
여러 열을 기준으로 그룹화 (0) | 2023.06.30 |
---|---|
java.sql.SQL 예외:oracle.jdbc.driver에 설정된 자동 커밋으로 커밋할 수 없습니다.PhysicalConnection.commit(PhysicalConnection.java:4443) (0) | 2023.06.30 |
IIS에서 스레드를 사용하여 장시간 실행 작업을 수행할 수 있습니까? (0) | 2023.06.30 |
excel: xml 데이터를 저장하거나 내보낼 수 없습니다.이 워크북의 xml 맵은 내보낼 수 없습니다. (0) | 2023.06.30 |
Android Firebase 다이너마이트 모듈:모듈 설명자를 로드하지 못했습니다. (0) | 2023.06.30 |