简体   繁体   English

没有null的SQL Case

[英]SQL Case with no null

When I run this query: 当我运行此查询时:

select
    '1992' = CASE WHEN Year(HireDate) = 1992 THEN count(*) END,
    '1993' = CASE WHEN Year(HireDate) = 1993 THEN count(*) END,
    '1994' = CASE WHEN Year(HireDate) = 1994 THEN count(*) END
  from employees
 group by Year(HireDate)

I get: 我明白了:

1992     1993      1994
3        NULL      NULL
NULL      3        NULL
NULL     NULL       3

How can I change the query to get: 如何更改查询以获取:

1992    1993    1994
3           3      3

With this query you will get only a row: 使用此查询,您将只获得一行:

select 
'1992'=
count( CASE WHEN Year(HireDate) = 1992 THEN 1 END ),
'1993' =
count( CASE WHEN Year(HireDate) = 1993 THEN 1 END ),
'1994' = 
count( CASE WHEN Year(HireDate) = 1994 THEN 1 END )
from employees
select 
  '1992' = sum (case when year(HireDate) = 1992 THEN 1 else 0 END),
  '1993' = sum (case when year(HireDate) = 1993 THEN 1 else 0 END),
  '1994' = sum (case when year(HireDate) = 1994 THEN 1 else 0 END),
from employees

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM