我有一个SQL查询,它根据名为ks2en的列中的值进行分组。列中的空白结果分组得很好,但我想用文本"No KS2"替换空白值,以便在分组时得到"No KS2"而不是空白值。
以下是我的查询当前的结果:
KS2 No Result A*
1 0
2a 0 0
3c 1 0
3b 0 0
3a 1 0
4c 0 0
4b 0 0
4a 0 0
5c 0 0
5b 0 0
以下是我希望它的样子:
KS2 No Result A*
No KS2 1 0
2a 0 0
3c 1 0
3b 0 0
3a 1 0
4c 0 0
4b 0 0
4a 0 0
5c 0 0
5b 0 0
这是我当前的 SQL:
select ks2en as 'KS2',
count(case result when '' then 1 end) as 'No Result',
count(case result when 'A*' then 1 end) as 'A*'
from student join subject
on subject.upn=student.upn
where name='English'
group by ks2en
order by
case when ks2en = 'W' Then 0 Else 1 End,
left(ks2en, 1),
right(ks2en, 1) desc
Coalesce 假定为 null,而不是空白。 只是案例陈述它
case when Ks2en = '' then 'No KS2' else ks2en end as 'KS2'
如果只有空格。
select case when LEN(RTRIM(Ks2en)) = 0 then 'No KS2' else 'KS2' end