2010-02-11 4 views
0

데이터베이스의 유효한 전자 메일 주소의 총 수를 가져오고 싶지만 합계가 고유 한 전자 메일 주소가되기를 원합니다. mysql만으로 가능합니까?Mysql - 유효한 고유 전자 메일

답변

3

뭔가?

SELECT `email` 
FROM `users` 
WHERE `email` 
REGEXP '[A-Z0-9._%+-][email protected][A-Z0-9.-]+\.[A-Z]{2,4}' 
GROUP BY `email` 

정규식은 here입니다. 사이트에서 지적했듯이이 이메일은 유효한 이메일 (예 : 애매한 이메일)과 일치하지 않을 수 있습니다. 마지막으로 내가봤을 때 모든 가능한 이메일 주소와 일치하는 정규식을 만든 사람이 있는지 확실하지 않습니다.

+1

할 거라고하려면, 왜 같은 페이지에 제공에 전체를 사용하지? (? : [a-z0-9! # $ % & '* +/=?^_'{|} ~ - =?^_'{|} ~ -] +) * | "(? : [\ x01-x08 \ x0b \ x0c \ x0e- \ x1f \ x21 \ x23- \ x5b \ x5d- \ x7f] [a-z0-9] (? : [a-z0-9 -] * [a-z0 (x0)])) + [a-z0-9] (? : [a-z0-9-] * [a-z0-9])? \ [(?: (25:0) 5] | 2 [0-4] [0-9] | [01]? [0-9] [0-9]?) \.) {3} (?: 25 [0-5] | 2 [0 -4] [0-9] | [01]? [0-9] [0-9]? | [a-z0-9 -] * [a-z0-9] :(? x08 \ x0b \ x0c \ x0e- \ x1f \ x21- \ x5a \ x53- \ x7f] | \\ [\ x09 \ x0b \ x0c \ x0e- \ x7f]) +) \]) –

+0

전체 하나, 전체 하나는 6300 + 문자입니다. –

+0

이것은 완벽합니다. 저는 정규식을 정말로 생각하지 않았습니다. 감사! – jwzk

1

mysql에서 전자 메일이 유효한지 확인할 수 없습니다.

당신은 별개의 선택으로 모든 고유 이메일을 선택할 수 있습니다 어쩌면이 같은

SELECT DISTINCT `e-mailadress`FROM `table1` //something like this 
1

정규 표현식을 사용하려고하는 경우 당신이 그들의 수는

SELECT COUNT(DISTINCT('EMAIL')) FROM 'TABLE' 
+0

사실이 경우에 유효한지 알아야합니다. – jwzk

+1

아래 제안 된대로 regexp를 사용할 수 있습니다 ... – t00ny

관련 문제