我有一个employees
表格,其中包含hire_date
列,我想要查询的是查询1995年和1996年雇用的员工人数。1995年有自己的专栏和1996年有自己的专栏:
______________
| | |
| 1995 | 1996 |
|______|______|
| 2 | 3 |
|______|______|`
伪代码:
display COUNT of rows WHERE hire_date LIKE '%95', display COUNT of rows WHERE hire_date LIKE '%96'
有人可以指导我如何实现这个目标吗?
答案 0 :(得分:1)
使用此查询,您只能访问一次员工表
select
sum(case TO_CHAR(hire_date, 'YYYY') when '1995' then 1 end) as "1995",
sum(case TO_CHAR(hire_date, 'YYYY') when '1996' then 1 end) as "1996"
from employees
where hire_date between date '1995-01-01' and date'1996-12-31';
答案 1 :(得分:0)
SELECT (SELECT COUNT(*) FROM employees WHERE hire_date = '1995') "1995",
(SELECT COUNT(*) FROM employees WHERE hire_date = '1996') "1996"
FROM dual;