17

大文字と小文字を区別せずにデータベースから SELECT DISTINCT を実行する方法を誰か教えてもらえますか?

私のクエリは

SELECT DISTINCT email FROM `jm_order`

結果はテーブル内のすべての電子メールを表示しますが、ケースが異なる電子メールが繰り返されます。これは、値が大文字と小文字が異なるためです。例えば

sam@gmail.com
josh@gmail.com
Sam@gmail.com
john@gmail.com

しかし、私が望むのは、大文字と小文字に関係なく、同じメールをグループ化することです。sam@gmail.comたとえば、Sam@gmail.com異なるケースであるという理由だけで、SQLが繰り返されないようにするには、SQLをどのように調整できますか?

4

3 に答える 3

22

upper関数を使ってみる

SELECT DISTINCT UPPER(email) FROM `jm_order`

lower代わりに使用することもできます

SELECT DISTINCT LOWER(email) FROM `jm_order`

詳細情報.

于 2013-07-25T14:18:48.807 に答える
8

電子メールの大文字と小文字を保持したい場合 (したがって、実際には行の 1 つと一致する)、次のことができます。

select email
from jm_order
group by lower(email);
于 2013-07-25T14:22:50.770 に答える
2

これを試して:

SELECT DISTINCT LOWER(email) AS email 
FROM `jm_order`
于 2013-07-25T14:20:48.997 に答える