Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 我如何编写当月雇用的员工和订单?_Sql_Oracle_Oracle Apex - Fatal编程技术网

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 ---------- ----------

Sql,它给出了在同一个月(或年份)内按日期分组和顺序雇用的员工数量

我试图写这段代码,但我没有找到相同的雇佣和订单

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下单