2013-07-25 4 views
9

아무에게도 데이터베이스에서 대/소문자를 구분하지 않고 SELECT DISTINCT를 어떻게 수행 할 수 있는지 알려 줄 수 있습니까?MySQL 대소 문자를 구분하지 않음 DISTINCT

내 쿼리가

SELECT DISTINCT email FROM `jm_order` 

결과는 테이블의 모든 이메일을 제공하지만, 다른 경우와 사람을 반복합니다. 이 값은 대소 문자가 다르기 때문에 예상됩니다. 예컨대

[email protected] 
[email protected] 
[email protected] 
[email protected] 

는하지만 내가 원하는 관계없이 사건의 그룹화하기, 같은 이메일입니다. 다른 경우가 있기 때문에 [email protected][email protected]과 같이 반복하지 않으려면 SQL에 어떤 조정을 할 수 있습니까?

+0

가능한 중복 [ " SELECT DISTINCT "다른 경우 무시 함] (https://stackoverflow.com/questions/2644851/select-distinct-ignores-different-cases) –

답변

15

는 대신

SELECT DISTINCT LOWER(email) FROM `jm_order` 

More informationlower을 사용할 수 있습니다 upper 기능

SELECT DISTINCT UPPER(email) FROM `jm_order` 

를 사용해보십시오.

+0

대단히 감사합니다 ... –

2

이 시도 :

SELECT DISTINCT LOWER(email) AS email 
FROM `jm_order` 
5

을 당신은 이메일 (그래서 실제로 행 중 하나와 일치)의 경우를 유지하려면, 당신은 할 수 있습니다 :의

select email 
from jm_order 
group by lower(email); 
관련 문제