| one | two |
-------------
| A | 1 |
| A | 2 |
| B | 1 |
| B | 3 |
| C | 1 |
| C | 4 |
내가 쿼리의 모든 열에 더 반복을 얻을 싶습니다, 그래서 모든 행에 별개 찾기 때문 표준 SELECT DISTINCT one,two FROM table;
또는 SELECT * FROM table GROUP BY one,two;
이 잘 작동을하지 않습니다하는 이 경우 6 개의 행이 모두 반환됩니다.멀티 열
이상적으로, 내가 찾고 있어요 : PHP (등)에서
| one | two |
-------------
| A | 1 |
| B | 3 |
| C | 4 |
, 나는 각 열의 배열이 작업을 수행하고, 모든 열은 이전에 사용 된 경우 다음 행을 건너 뛰고 바로 것입니다. MySQL에서 구현하는 방법을 잘 모르겠습니다.
SELECT * FROM (SELECT * FROM table GROUP BY one) GROUP BY two
- 거의 작동합니다. 하지만 외부 쿼리가 모든 대안을 볼 수 없기 때문에 유효한 옵션이 누락됩니다. 즉, 내부가 A, B, C로 축소되지만 모두 1 초를 선택할 수 있습니다. 이는 두 번째 GROUP BY를 의미합니다. 그런 다음 1 행에 자신을 접어 라!
중복 검사 순서가 반환 된 정확한 행에 영향을 미칠 것이라는 점을 알고 있습니다. 걱정할 필요가 없습니다. 최소한 유사한 행을 가진 행의 좋은 단면을 원합니다.
이 쿼리 규칙을 설명한다. 동일한 'one'필드를 가진 2 개의 행이 있다면, 어느 것이 출력에 포함되기를 원합니까? –
예제에서 첫 번째로 일치하는 'A - 1'을 선택했지만 다른 두 번째에서는 두 번째 일치 항목을 선택했습니다. 하나 또는 다른 선택을 확고히 할 수 있습니까? –
Clement의 질문 외에도 - 열 1의 'C'가 'A'와 'B'로 이미 발생한 열 2의 값으로 만 발생하면 어떻게됩니까? – quosoo