首先,对不起标题血腥,我无法找到问题的好标题。无论如何,我有一个看起来像这样的表
email | lang
----------------
d@d.c | 1
d@d.c | 2
a@d.c | 2
a@d.c | 2
z@d.c | 1
我想回复此
email | lang
----------------
d@d.c | 3
a@d.c | 2
z@d.c | 1
这是我尝试过的,但考虑不能在THEN
SELECT email,
CASE COUNT(lang) WHEN 1 THEN lang ELSE '3' END
FROM table
GROUP BY email
我是如何实现这一目标的?感谢
答案 0 :(得分:0)
此代码肯定会对您有所帮助。使用您的表名代替#tempP
select
distinct
email,
(CASE WHEN (count(lang)>1) THEN lang ELSE (select SUM(lang) from #tempP where email=T.email) END) lang
from
#tempP T
group by email,lang