Skip to content
Advertisement

How can i write hired the same month employees and order?

Sql, which gives the number of employees hired in the same month (or year) grouped and sequentially on date basis.

I tried to write this code, but i didn’t find same hired and order.

SELECT hire_date,COUNT(hire_date) 
FROM employees
GROUP BY hire_date;

Advertisement

Answer

This is how I understood the question.

Sample data:

SQL> select ename, hiredate from emp order by hiredate;

ENAME      HIREDATE
---------- ----------
SMITH      17_12_1980
ALLEN      20_02_1981
WARD       22_02_1981
JONES      02_04_1981
BLAKE      01_05_1981
CLARK      09_06_1981
TURNER     08_09_1981
MARTIN     28_09_1981
KING       17_11_1981
JAMES      03_12_1981
FORD       03_12_1981
MILLER     23_01_1982
SCOTT      09_12_1982
ADAMS      12_01_1983

14 rows selected.

Employed in the same month:

SQL> select to_char(hiredate, 'mm.yyyy') hire_month,
  2    count(*)
  3  from emp
  4  group by to_char(hiredate, 'mm.yyyy')
  5  order by 1;

HIRE_MO   COUNT(*)
------- ----------
01.1982          1
01.1983          1
02.1981          2
04.1981          1
05.1981          1
06.1981          1
09.1981          2
11.1981          1
12.1980          1
12.1981          2
12.1982          1

11 rows selected.

SQL>

Hired in the same year:

SQL> select extract(year from hiredate) hire_year,
  2    count(*)
  3  from emp
  4  group by extract(year from hiredate)
  5  order by 1;

 HIRE_YEAR   COUNT(*)
---------- ----------
      1980          1
      1981         10
      1982          2
      1983          1

SQL>
User contributions licensed under: CC BY-SA
10 People found this is helpful
Advertisement