[SQL] MySQL은 컬럼에서 동일한 값이 행을 찾기
SQLMySQL은 컬럼에서 동일한 값이 행을 찾기
A [부재 표에서, 일부 열은 전자 칼럼에 대해 동일한 값을 갖는다.
login_id | email
---------|---------------------
john | john123@hotmail.com
peter | peter456@gmail.com
johnny | john123@hotmail.com
...
다른 login_ID에 있지만 같은 이메일 주소를 사용하는 어떤 사람들은, 어떤 고유 제한 조건이 컬럼에 설정되지 않았다. 지금은 이러한 행을 발견하고 제거해야하는지 확인해야합니다.
나는 이러한 행을 찾기 위해 어떤 SQL 문을 사용해야합니까? (MySQL의 5)
해결법
-
==============================
1.이 쿼리는 먼저 가장 많이 사용 주소로 당신에게 이메일 주소 및 횟수는 사용하고의 목록을 제공합니다.
이 쿼리는 먼저 가장 많이 사용 주소로 당신에게 이메일 주소 및 횟수는 사용하고의 목록을 제공합니다.
SELECT email, count(*) AS c FROM TABLE GROUP BY email HAVING c > 1 ORDER BY c DESC
당신은 전체 행을 원하는 경우 :
select * from table where email in ( select email from table group by email having count(*) > 1 )
-
==============================
2.
select email from mytable group by email having count(*) >1
-
==============================
3.여기에 두 개 이상의 login_ID에 사용되는 이메일의를 찾을 수 쿼리는 다음과 같습니다
여기에 두 개 이상의 login_ID에 사용되는 이메일의를 찾을 수 쿼리는 다음과 같습니다
SELECT email FROM table GROUP BY email HAVING count(*) > 1
당신은 이메일로 login_ID에 목록을 가져 오지 쿼리 (중첩의) 두 번째 필요합니다.
-
==============================
4.허용 대답의 첫 번째 부분은 MSSQL 작동하지 않습니다. 이것은 나를 위해 일한 :
허용 대답의 첫 번째 부분은 MSSQL 작동하지 않습니다. 이것은 나를 위해 일한 :
select email, COUNT(*) as C from table group by email having COUNT(*) >1 order by C desc
-
==============================
5.이메일 열이 빈 값이 포함 된 경우 이것을 사용
이메일 열이 빈 값이 포함 된 경우 이것을 사용
select * from table where email in ( select email from table group by email having count(*) > 1 and email != '' )
-
==============================
6.나는 이것이 아주 오래된 질문을 알고 있지만이 더 같은 문제가있을 수 있습니다 다른 사람을 위해 내가이 원하는 있었는지에 더 정확하다고 생각합니다.
나는 이것이 아주 오래된 질문을 알고 있지만이 더 같은 문제가있을 수 있습니다 다른 사람을 위해 내가이 원하는 있었는지에 더 정확하다고 생각합니다.
SELECT * FROM member WHERE email = (Select email From member Where login_id = john123@hotmail.com)
이것은 login_ID에 값으로 john123@hotmail.com있는 모든 레코드를 반환합니다.
-
==============================
7.감사들 :-) 나는 단지 그 두 컬럼에 대해 걱정하지 너무 많은 나머지에 대한 때문에 아래를 사용했다. 일 큰
감사들 :-) 나는 단지 그 두 컬럼에 대해 걱정하지 너무 많은 나머지에 대한 때문에 아래를 사용했다. 일 큰
select email, login_id from table group by email, login_id having COUNT(email) > 1
-
==============================
8.당신은 내 선택 쿼리와 조건을 사용하여 원하는 레코드 전체를 가져옵니다.
당신은 내 선택 쿼리와 조건을 사용하여 원하는 레코드 전체를 가져옵니다.
SELECT * FROM member WHERE email IN (SELECT email FROM member WHERE login_id = abcd.user@hotmail.com)
from https://stackoverflow.com/questions/1786533/find-rows-that-have-the-same-value-on-a-column-in-mysql by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 어떻게 급여 테이블에서 세 번째 또는 n 번째 최대 급여를 찾는 방법은? (0) | 2020.05.17 |
---|---|
[SQL] # 1273 - 알 수없는 정렬 : 'utf8mb4_unicode_520_ci' (0) | 2020.05.17 |
[SQL] 테스트 SQL 쿼리에 가장 좋은 방법은 [마감] (0) | 2020.05.17 |
[SQL] 어떻게 테이블의 기본 데이터 정렬을 변경하려면? (0) | 2020.05.17 |
[SQL] SQL Server 관리 Studio에서 연결 다른 Windows 사용자 (2005 이상) (0) | 2020.05.17 |