programing

MySQL에서 구별되는 것의 반대

skycolor 2023. 9. 19. 20:58
반응형

MySQL에서 구별되는 것의 반대

sql에서 "select distinct"와 반대되는 부분이 있는지 알고 싶습니다. 그러면 여러 번 반복된 테이블에서만 값을 얻을 수 있습니다.

감사해요.

select some_column, count(*)
from some_table
group by 1
having count(*) > 1;

mysql과 같은 데이터베이스에서는 선택을 생략할 수도 있습니다.count(*)만을 남깁니다.

select some_column
from some_table
group by 1
having count(*) > 1;

당신은 필요합니다.group by와 함께having조항, 예를 들어 다음과 같습니다.

select person, count(friends)
from people
group by person
having count(friends) > 1

이렇게 하면 모든 사람들의 목록과 친구 수를 알 수 있습니다. 단, 그들의 어머니만 친구가 되거나 더 나쁜 경우에는 심지어 그들의 어머니도 친구가 되지 않은 불쌍한 발바닥들을 제외하고 말입니다 :-)

사용해야 합니다.having대신에where이 경우, 전자는 그룹화 후 필터링하지만 후자는 이전에 필터링하기 때문에 다음과 같은 집합 함수의 정보를 가지고 있지 않습니다.count()그룹화가 진행될 때까지.

나는 두 테이블에 얼마나 많은 복제물이 존재하는지 보여주고 싶은 다대다 조인 상황을 위해 이와 같은 것을 찾고 있었습니다.count(distinct col)는 '1'의 결과가 열에 중복이 있음을 나타내지만 몇 개인지는 말하지 않았기 때문에 정확하게 올바른 솔루션이 아니었습니다.이에 사용한 'discertive'는 count(*): (count(*)-count(discertive col)+1)을 사용한 반전으로 작업을 잘 수행했습니다.

언급URL : https://stackoverflow.com/questions/7411639/opposite-of-distinct-in-mysql

반응형