[SQL] MySQL은 별개의 2 열 조합을 선택
SQLMySQL은 별개의 2 열 조합을 선택
나는 모습이 좋아하는 MySQL의 테이블이 있습니다 :
1 value1 value2 3534
2 value1 value1 8456
3 value1 value2 3566
4 value1 value3 7345
5 value2 value3 6734
나는이 예를 들어 내가 원하는 출력과 같이 표시됩니다 예를 들면 별개의 열 2, 3, 모든 행을 선택하는 질의를 필요로한다 :
1 value1 value2 3534
2 value1 value1 8456
4 value1 value3 7345
5 value2 value3 6734
나는 그것을 수행하는 방법에 대한 몇 가지 샘플을 발견했습니다하지만 그들은 모두 개별적으로 각각의 컬럼에 구별을 선택합니다.
해결법
-
==============================
1.첫 번째 열이 고유한지 가정하면,이 작업을 수행 할 수 있습니다 :
첫 번째 열이 고유한지 가정하면,이 작업을 수행 할 수 있습니다 :
SELECT id, col2, col3, col4 FROM yourtable WHERE id IN ( SELECT MIN(id) FROM yourtable GROUP BY col2, col3 )
온라인으로 작업을 참조하십시오 sqlfiddle를
-
==============================
2.더 나은 당신은 위의에 대해 사용합니다.
더 나은 당신은 위의에 대해 사용합니다.
SELECT id, col2, col3, col4 FROM yourtable GROUP BY col2, col3;
CONCAT를 사용하여, 나는이 경우 결과를 원하는지고 있지 않다 때문에 내가 말하고있는 이유입니다. 첫 번째 쿼리는 그러나 CONCAT 나에게 잘못 4 개 행을 반환 나에게 5 개 행을 반환합니다.
당신이 내 포인트를 얻었기를 바랍니다.
테이블 상정 컬럼 (ID, COL2, COL3, col4)이다.
SELECT DISTINCT(CONCAT(col2, col3)) as "dummy column", id, col2, col3, col4 FROM yourtable GROUP BY CONCAT(col2, col3);
SELECT id, col2, col3, MIN(col4) FROM yourtable GROUP BY col2, col3;
-
==============================
3.테이블의 열 (ID, COL1, COL2, COL3), 당신은 할 수 있습니다 가정 :
테이블의 열 (ID, COL1, COL2, COL3), 당신은 할 수 있습니다 가정 :
SELECT * FROM YourTable yt JOIN ( SELECT MIN(id) as minid FROM YourTable GROUP BY col1, col2 ) filter ON filter.minid = yt.id
-
==============================
4.열 세의 최소 값을 선택하는 동안이 쿼리는 1 열 및 2 열의 조합이 고유한지 확인합니다
열 세의 최소 값을 선택하는 동안이 쿼리는 1 열 및 2 열의 조합이 고유한지 확인합니다
SELECT col1, col2, MIN(col3) FROM yourTable GROUP BY col1, col2
-
==============================
5.이것에 대한 간단한 질문입니다
이것에 대한 간단한 질문입니다
SELECT col1, col2, MIN(col3) FROM myTable GROUP BY col1, col2
-
==============================
6.방법으로 그룹을 사용하면 명시 적으로 더 이상 반환하지만 개수로 기록 동일한 없음을 각 필드를 확인하는 곳 (고유 ..) 저에게 여분의 행을 반환
방법으로 그룹을 사용하면 명시 적으로 더 이상 반환하지만 개수로 기록 동일한 없음을 각 필드를 확인하는 곳 (고유 ..) 저에게 여분의 행을 반환
SELECT id, col2, col3, col4 FROM yourtable yt WHERE id = ( SELECT MIN(id) FROM yourtable yt1 WHERE yt.col2 = yt1.col2 AND yt.col3 = yt1.col3 )
from https://stackoverflow.com/questions/11277251/selecting-distinct-2-columns-combination-in-mysql by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] MS SQL Server에 RODBC 임시 테이블 문제를 연결할 때 (0) | 2020.06.09 |
---|---|
[SQL] 어떻게 MAX (날짜)에 의해 선택하는 방법? (0) | 2020.06.09 |
[SQL] 각 항목에 대한 JPA 선택 최신 인스턴스 (0) | 2020.06.09 |
[SQL] 는 SQL 서버에서 MySQL을 ON DUPLICATE KEY UPDATE의 등가 (0) | 2020.06.09 |
[SQL] 나는 크로스 탭 쿼리를 만드는 방법을 알 필요가 (0) | 2020.06.08 |