Sql 我如何编写当月雇用的员工和订单?
Sql,它给出了在同一个月(或年份)内按日期分组和顺序雇用的员工数量 我试图写这段代码,但我没有找到相同的雇佣和订单Sql 我如何编写当月雇用的员工和订单?,sql,oracle,oracle-apex,Sql,Oracle,Oracle Apex,Sql,它给出了在同一个月(或年份)内按日期分组和顺序雇用的员工数量 我试图写这段代码,但我没有找到相同的雇佣和订单 SELECT hire_date,COUNT(hire_date) FROM employees GROUP BY hire_date; 我就是这样理解这个问题的 样本数据: SQL> select ename, hiredate from emp order by hiredate; ENAME HIREDATE ---------- ----------
SELECT hire_date,COUNT(hire_date)
FROM employees
GROUP BY hire_date;
我就是这样理解这个问题的 样本数据:
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.
当月就业人数:
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>
同年聘用:
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>
简单。如果希望结果集按特定顺序排序,则必须使用ORDERBY子句。GROUP BY只对数据进行分组,不进行排序/排序。问题是如何对查询结果进行排序?使用
orderby
。谢谢您的回答。为什么我们要使用order by 1?不客气<代码>按1下单表示“按选择列列表中的第一列下单”。因此,与键入按摘录下单(从雇佣日期算起的年份)
不同,较短的版本是按1下单