この特定の質問については、max(language)
dはeより小さいため、機能するはずです。
編集(壊れないソリューション):
max(case language when 'default' then 0 else 1 end)
を追加します。
Edit2(さらに良い):
max(case language when 'english' then 1 else 0 end)
を追加します。 そのため、in()
に言語を追加しても、値が重複することはありません。 セクション
番号を編集2:
私が約束したように、ここで私は新鮮な新しい月曜日の朝の心を持っており、あなたのニーズに合った正しい質問をしました:-)
試してみてください
SELECT value,
CASE group_concat(language)
WHEN 'default' then 'default'
ELSE LTRIM(REPLACE(group_concat(language SEPARATOR ' '),'default',''))
END as language,
externID
FROM demo
WHERE externID = 10
AND language in ('default','english')
GROUP BY value;
説明: GROUP_CONCAT
および