[SQL] 비 "독특한"행을 선택하는 방법
SQL비 "독특한"행을 선택하는 방법
난 내가 아닌 고유 한 행을 인출 할 필요가있는 다음 표를 가지고
+------+------+------+
| id | idA |infos |
+----- +------+------+
| 0 | 201 | 1899 |
| 1 | 205 | 1955 |
| 2 | 207 | 1955 |
| 3 | 201 | 1959 |
+------+------+------+
나는 적어도 두 개의 행에 동일한 IDA 값이 열 infos에 대한 모든 행을 가져올 싶습니다.
위의 표에 대한 쿼리의 출력해야합니다
infos
1899
1959
나는 성공없이 다음과 같은 요청을 시도했다 :
해결법
-
==============================
1.이 시도:
이 시도:
SELECT T1.idA, T1.infos FROM XXX T1 JOIN ( SELECT idA FROM XXX GROUP BY idA HAVING COUNT(*) >= 2 ) T2 ON T1.idA = T2.idA
당신이 게시 된 데이터에 대한 결과 :
idaA infos 201 1899 201 1959
-
==============================
2.이런 식으로 뭔가 작업을해야합니다 :
이런 식으로 뭔가 작업을해야합니다 :
SELECT idA, COUNT(*) FROM XXX GROUP BY idA HAVING COUNT(*) > 1
-
==============================
3.
SELECT id, idA, COUNT(infos) AS cnt FROM mytable GROUP BY infos HAVING cnt > 1
-
==============================
4.이것은 당신이 찾고있는 아마 :
이것은 당신이 찾고있는 아마 :
SELECT *, COUNT(DISTINCT infos) FROM table GROUP BY idA HAVING COUNT(DISTINCT infos) > 1;
-
==============================
5.이 "정보를 정기적으로는"정확히 한 번 (MySQL을 테스트) 나타나는 모든 행을 제공해야
이 "정보를 정기적으로는"정확히 한 번 (MySQL을 테스트) 나타나는 모든 행을 제공해야
SELECT id, idA, count(infos) AS cnt FROM mytable GROUP BY infos HAVING cnt=1
데이터
id ida infos 1 201 1955 2 202 1978 3 203 1978 4 204 1956 5 0 1980
결과
id idA cnt 1 201 1 4 204 1 5 0 1
from https://stackoverflow.com/questions/4519582/how-to-select-non-unique-rows by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] CASE 조건 및 SUM과 SELECT 쿼리 () (0) | 2020.06.08 |
---|---|
[SQL] LIKE 만 전체 단어 매치? (0) | 2020.06.08 |
[SQL] 오류 : 하나 개 이상의 수익률 쿼리에 대해 TypedQuery를 만들 수 없습니다 (0) | 2020.06.08 |
[SQL] 당신은 어떻게 백업 할 수와 같은 서버에 복사본으로 데이터베이스를 복원? (0) | 2020.06.08 |
[SQL] 테이블 반환 함수 - 출력에 무시로 주문 (0) | 2020.06.07 |