如题所示 ,下面是表结构
root@mysql3306.sock>[employees]>desc dept_emp;
+-----------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+---------+------+-----+---------+-------+
| emp_no | int(11) | NO | PRI | NULL | |
| dept_no | char(4) | NO | PRI | NULL | |
| from_date | date | NO | | NULL | |
| to_date | date | NO | | NULL | |
+-----------+---------+------+-----+---------+-------+
4 rows in set (0.00 sec)
从上面的表结构中 求出满足以下条件
从1985-01-01 到1985-02-28 部门每个部门每天的在职人数
我们想求出满足上面的人 ,from_date 必须小于 1985-02-08 而to_date 必须大于等于 1985-01-01
select dept_no , emp_no ,d.from_date,d.to_date from dept_emp d
where d.from_date <= '1985-02-08'
and d.to_date >= '1985-01-01'
从查询结果中 可以看出
| d008 | 429002 | 1985-02-20 | 9999-01-01 |
如上图所示 429002 在2-20进入部门d008 现在还在职 就一行数据
我们都知道 聚合函数是对表的行进行计算的 如