Null이 아닌 값의 조합을 사용하여 MySQL 행을 그룹화하는 방법
P粉002023326
P粉002023326 2023-09-06 21:35:03
0
1
621

그룹화된 결과에서 각 열의 최신 null이 아닌 값을 선택하여 행을 병합/결합하는 방법은 무엇입니까?

id 사용자 과일 숫자 제작시간
1 제인 애플 비어있음 2022-01-01
2 수박 32 2022-01-02
3 비어있음 72 2022-01-03
4 비어있음 2022-01-04

다음 방법은 작동하지 않습니다:

으아악

다음 결과가 나왔으면 좋겠습니다:

으아악

문제는 COALESCE() 함수가 값 세트에서는 작동하지 않고 목록에서만 작동한다는 것입니다.

COALESCE() 대신 MIN() 또는 MAX()를 솔루션으로 사용하여 언급된 많은 주제가 있습니다. 하지만 최저값이나 최고값이 아닌 이전 값을 덮어쓰려면 새 값이 필요하기 때문에 문제가 해결되지 않습니다.

P粉002023326
P粉002023326

모든 응답(1)
P粉979586159

COALESCE()은 집계 함수가 아니지만 지정된 값 목록에서만 작동할 수 있으므로 이 게시물에서 @jsowa의 해결 방법을 찾았습니다. 왜 "COALESCE"가 "GROUP BY"와 작동하지 않습니까?

대신 SUBSTRING_INDEX(GROUP_CONCAT())을 사용할 수 있습니다 SUBSTRING_INDEX(GROUP_CONCAT())来替代COALESCE().

GROUP_CONCAT()의 ORDER BY 절에 특히 주의하세요. 단점은 어떤 값에서든 구분 기호가 사용되지 않는 문자여야 한다는 것입니다.

으아악

결과 반환

으아악
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿