ProgramingTip

MySQL SELECT DISTINCT 여러 열

bestdevel 2020. 11. 7. 10:18
반응형

MySQL SELECT DISTINCT 여러 열


a, b c, dMySQL 데이터베이스의 테이블에 열이 — 가정 해 보겠습니다 . 내가하려는 것은 내 테이블에있는이 4 개 열 모두의 고유 한 값을 선택하는 것입니다 (고유 한 값만). 나는 다음과 같은 것을 시도했다.

SELECT DISTINCT a,b,c,d FROM my_table;
SELECT DISTINCT a,b,c,d FROM my_table GROUP BY a,b,c,d;

그들 중 어느 것도 가능하지. 아무도 여기서 있습니까?

감사합니다

참고 열의 고유 한 값을 a, b, c d하단 원합니다 . 가치의 고유 한 조합이 아님


이것이 도움이 될 수 있습니까?

select 
(SELECT group_concat(DISTINCT a) FROM my_table) as a,
(SELECT group_concat(DISTINCT b) FROM my_table) as b,
(SELECT group_concat(DISTINCT c) FROM my_table) as c,
(SELECT group_concat(DISTINCT d) FROM my_table) as d

어쨌든 질문이 너무 오래 예방법은 알고 있습니다.

select a, b from mytable group by a, b

모든 조합을 제공합니다.


원하는 결과를 추측하여 아마도 원하는 쿼리 일 수 있습니다.

SELECT DISTINCT a FROM my_table
UNION 
SELECT DISTINCT b FROM my_table
UNION
SELECT DISTINCT c FROM my_table
UNION
SELECT DISTINCT d FROM my_table

이를 수행하는 또 다른 간단한 방법은 concat()

SELECT DISTINCT(CONCAT(a,b)) AS cc FROM my_table GROUP BY (cc);

두 질문 모두 대답하며 올바른 답변을 제공해야합니다.

문제 해결을 위해 다음 쿼리를 제안합니다.

SELECT DISTINCT a,b,c,d,count(*) Count FROM my_table GROUP BY a,b,c,d
order by count(*) desc

개수 (*) 필드를 추가합니다. 이렇게하면 그룹 명령을 사용하여 제거 된 행 수를 알 수 있습니다.


그러면 모든 열에 DISTINCT 값이 제공됩니다.

SELECT DISTINCT value
FROM (
    SELECT DISTINCT a AS value FROM my_table
    UNION SELECT DISTINCT b AS value FROM my_table
    UNION SELECT DISTINCT c AS value FROM my_table
) AS derived

참고 URL : https://stackoverflow.com/questions/12188027/mysql-select-distinct-multiple-columns

반응형