반응형
업데이트에서 레코드에 순차적으로 번호 매기기
정상적으로 작동하는 다음 SQL 쿼리가 있습니다.
UPDATE tnTOPIC A1
INNER JOIN (SELECT
fnTOPIC_IDX fnIDX,
COUNT(1) fnCOUNT
FROM tnURL
WHERE fnGOTIMAGE = 0
GROUP BY fnTOPIC_IDX) A2
ON (A1.fnIDX = A2.fnIDX
)
SET A1.fnRECORDS_REMAINING = A2.fnCOUNT
출력 시퀀스로 tnTOPic(fnROW_NUMBER)의 추가 필드를 업데이트하고 싶습니다.
1번 기록은 1번, 2번 기록은 2번 기록입니다.
저는 MariaDB를 사용합니다.
잘 부탁드립니다.
사용할 수 있습니다.ROW_NUMBER()
테이블에 가입하는 하위 쿼리의 창 기능:
UPDATE tnTOPIC t
INNER JOIN (
SELECT t.fnIDX, u.fnCOUNT,
ROW_NUMBER() OVER (ORDER BY t.fnIDX) rn
FROM tnTOPIC t
INNER JOIN (
SELECT fnTOPIC_IDX fnIDX, COUNT(1) fnCOUNT
FROM tnURL
WHERE fnGOTIMAGE = 0
GROUP BY fnTOPIC_IDX
) u ON u.fnIDX = t.fnIDX
) s ON s.fnIDX = t.fnIDX
SET t.fnRECORDS_REMAINING = s.fnCOUNT,
t.fnROW_NUMBER = s.rn
만약 당신이 그것을 모두 확신한다면.fnTOPIC_IDX
당신의 하위 쿼리가 일치fnIDX
의tnTOPIC
코드를 다음과 같이 단순화할 수 있습니다.
UPDATE tnTOPIC t
INNER JOIN (
SELECT fnTOPIC_IDX fnIDX, COUNT(1) fnCOUNT,
ROW_NUMBER() OVER (ORDER BY fnTOPIC_IDX) rn
FROM tnURL
WHERE fnGOTIMAGE = 0
GROUP BY fnTOPIC_IDX
) u ON u.fnIDX = t.fnIDX
SET t.fnRECORDS_REMAINING = u.fnCOUNT,
t.fnROW_NUMBER = u.rn
사용합니다fnIDX
에서ORDER BY
의 조항.ROW_NUMBER()
.
만약 당신이 시퀀스에 대해 다른 주문을 원한다면 그것을 변경할 수 있습니다.
언급URL : https://stackoverflow.com/questions/66829828/seqentially-numbering-records-in-an-update
반응형
'programing' 카테고리의 다른 글
EPLUS로 생성된 Excel 파일의 읽을 수 없는 콘텐츠 (0) | 2023.07.02 |
---|---|
UITableView 스크롤 시 키보드 숨기기 (0) | 2023.07.02 |
mongodb 공백 없이 json을 인쇄합니다. 예를 들어, 예쁜 json이 아닙니다. (0) | 2023.07.02 |
mongodb 서비스를 시작할 수 없습니다. (0) | 2023.07.02 |
Firebase Crashlytics에 매핑 파일을 업로드하는 방법은 무엇입니까? (0) | 2023.07.02 |