2013-06-15 2 views
4

전자 메일의 도메인 열 (전자 메일의 도메인 부분)과 MS 액세스의 수를 표시하려는 MS 액세스 테이블에 전자 메일 열 (duplicates-ok)이 있습니다. .전자 메일 열의 전체 도메인 수를 표시하기위한 SQL

테이블 :
enter image description here

내가 가진 SQL :

SELECT EMail.EMail, COUNT(*) 
FROM EMail 
GROUP BY EMail.EMail 
ORDER BY COUNT(*) DESC; 

하지만 이메일을 기반으로 결과를 제공합니다. 마찬가지로 :

EMail Expr1001 
[email protected] 4 
[email protected] 3 
[email protected] 2 

가 어떻게 보여 않는 도메인과의 총 개수? 마찬가지로 :

gmail.com 10 
yahoo.com 5 
yahoo.co.in 3 

나는 2013 년

답변

3

MS 액세스 도움이 특히 두 가지 기능이 액세스를 사용하고 있습니다. 당신은 기본적으로이 작업을 수행해야한다 :

  • 이 후 나타나는 도메인 부분을 추출 '@'문자 (이와 중간과 InStr이 기능의 도움을.)
  • 사용이 계수와 함께..

MS Access에서 당신이 할 수 있습니다 : 당신에게 도메인 이름을 줄 것이다

Mid([Email],InStr([Email],"@")+1)합니다.

정상적으로 사용 횟수를 계산하십시오.

참조 : http://www.techonthenet.com/access/functions/string/mid.php

을 이제 MSSQL 서버의 SQL을 필요로하는 경우 :

select SUBSTRING(email,(CHARINDEX('@',email)+1),1), count(*) from ...(rest of your query) 
4

SQL에서이 다만 수 :

SELECT SUBSTRING_INDEX(EMail.EMail, '@', -1) AS `Email Domain`, COUNT(*) 
FROM EMail 
GROUP BY SUBSTRING_INDEX(EMail.EMail, '@', -1) 
ORDER BY COUNT(*) DESC;