1
まず、タイトルが大変申し訳ありませんが、私の質問には良いタイトルが見つかりませんでした。とにかく、私はそれが結果に一度だけ現れなければならない、メールが複数回表示された場合は、この複数の値から1つの値を選択して表示
email | lang
----------------
[email protected] | 3
[email protected] | 2
[email protected] | 1
- を返したいと思い、この
email | lang ---------------- [email protected] | 1 [email protected] | 2 [email protected] | 2 [email protected] | 2 [email protected] | 1
のように見えるテーブルを持っている
- 電子メールが複数回表示され、1つの言語がある場合は、対応するlangを表示してください
- 電子メールが複数回表示され、複数の言語がある場合は、3を表示します。
- 電子メールが一度表示された場合は、それに
を表示これは私が試したものですが、それはlangはTHEN
SELECT email,
CASE COUNT(lang) WHEN 1 THEN lang ELSE '3' END
FROM table
GROUP BY email
どれにそのように呼び出すことはできません考えると動作しません。どのように私はこれを達成できるアイデア?ありがとう
THEN max(lang) –
DISTINCT langを数える必要があります。 –
これは素晴らしいことでした。ありがとう、たくさんの人。 'CASE COUNT(DISTINCT lang)1 THEN MAX(lang)ELSE '3' END' –