가정하는 I는 표 가지고선택 "그룹"동일한 열 값의 행 (1 개 이상)
id | column1 | column2
--------+---------+----------
1 | 3 | 1
2 | 5 | 1
3 | 6 | 2
4 | 5 | 2
5 | 1 | 3
6 | 7 | 3
7 | 7 | 3
8 | 2 | 3
9 | 5 | 3
10 | 7 | 4
(2 열 편의상 정렬되어, 행은 실제 테이블에서의 순서가 아닌)
2 번 열에서 같은 값을 가진 행의 "그룹"을 어떻게 선택합니까? 반드시 1 이상을 반환하지 않아야합니다. 임의적으로 좋지만 다른 열에서도 정렬 할 수 있으면 더 좋습니다.
내가 자신을 명확하게하고 있지 않다 경우는,이 내가 그것을 반환 할 것입니다 :
id | column1 | column2
--------+---------+----------
1 | 3 | 1
2 | 5 | 1
또는
id | column1 | column2
--------+---------+----------
3 | 6 | 2
4 | 5 | 2
또는
id | column1 | column2
--------+---------+----------
10 | 7 | 4
또는 ...
(등)그래서 먼저 r 열 2의 값이 1 인 행을 모두 계산 한 다음 삭제하면 2 열의 값이 2 인 모든 행을 반환해야합니다.
간결함을 위해 column2는 정수이며 특정 값을 제공하지 않으려는 경우 column2는 모든 값을 가질 수 있습니다. 이 작업을 수행하기 위해 생각할 수있는 유일한 방법은 다음 두 쿼리를 사용하는 것입니다.
첫 번째 SELECT column2 FROM test_table GROUP BY column2
첫 번째 SELECT column2 FROM test_table GROUP BY column2
은 모든 고유 한 column2 값을 가져오고 각 column2 값은 SELECT * FROM test_table WHERE column2=value
입니다.
동일한 결과를 얻으려면 더 효율적인/간단한/단일 쿼리 방법이 있습니까?
이 번호 레코드를 찾을 수 그러나 불행히도 실제 테이블에서 column2는 숫자가 아닙니다. 나는 아마 그것을 언급 했어야하고 다른 열 (이것은 숫자가 아니기도 함)로 정렬하고 싶었지만 예제를 단순화하고 싶었고 중요하지 않다고 생각했다. 죄송합니다. 질문을 수정하겠습니다. 어떻게 든 주문을 통해 분을 약간 변경할 수 있습니까? – alexk745
Nevermind, 방금 min (column2)을 min (any-column-i-want)으로 바꿀 수 있다는 것을 알았습니다. 시간 내 주셔서 감사합니다, 나는 대답을 수락 할 것입니다! – alexk745