programing

그룹 내부 그룹_MySQL의 CONCAT @ MariaDB

oldcodes 2023. 10. 31. 22:40
반응형

그룹 내부 그룹_MySQL의 CONCAT @ MariaDB

GROUP_CONCAT를 사용하여 질문을 받았습니다(그 안에 있는 테이블 2개는 조금 복잡하기 때문에 설명하고 싶지 않습니다. 아래에서 가장 간단한 방법으로 설명하겠습니다). 하지만 출력 행에 원하지 않는 반복 값이 있습니다.

다음은 질문입니다.

SELECT
    GROUP_CONCAT(mr.nazwa SEPARATOR ', ')
FROM
    mp06_logos.milkruny AS mr
JOIN
    mp06_logos.milkruny_firmy AS mrf
    ON mrf.id_milkrun = mr.id
WHERE
    mr.status = 1
    AND mrf.id_firmy_zaladunku = 5445
    AND mrf.adres_firmy_zaladunku = 5188

출력 행은 다음과 같습니다.

Milkrun XVI, Milkrun XVI, Milkrun XVI, Milkrun XVI, Milkrun XVII, Milkrun XVII, Milkrun XVII, Milkrun XVIII, Milkrun XIX, Milkrun XIX, Milkrun XIX, Milkrun XX, Milkrun XX, Milkrun XX, Milkrun XXI, Milkrun XXII, Milkrun XXII, Milkrun XXII, Milkrun XXII, Milkrun XXIII, Milkrun XXIII, Milkrun XXIII, Milkrun XXIII, Milkrun XXIII, Milkrun XXIII, Milkrun XXIII, Milkrun XXIII, Milkrun XXI

예를 들어 출력물에서 볼 수 있듯이 밀크런 16세는 4번 반복했습니다.

저는 추가하려고 했습니다.GROUP BY어떤 id는 쿼리를 가지고 있지만 그것은 더 많은 문제를 일으켰고 이 쿼리 업은 내가 원하는 것과 가장 유사합니다.

출력 안에서 값을 반복하고 싶지 않을 뿐입니다.

테이블milkruny가지다UNIQUE기둥.id.

테이블milkruny_firmy가지다UNIQUE기둥.id, 기둥들id_milkrun그리고 나머지는 그렇지 않습니다.UNIQUE그리고 그들은 다른 것이 없습니다.key.

사용가능DISTINCT인에GROUP_CONCAT()

 GROUP_CONCAT(DISTINCT mr.nazwa SEPARATOR ', ')

데모

http://sqlfiddle.com/ #!9/867089/1

언급URL : https://stackoverflow.com/questions/49527368/group-by-inside-group-concat-in-mysql-mariadb

반응형