Tom*_*sie 8 sql t-sql sql-server sql-server-2008
我有一个要求,就是必须提取用户选择的日期范围内的所有记录,选择从2011年1月15日到2011年8月20日开始的所有员工以及按日期分组.
我应该如何为此编写SQL查询:
SELECT *
FROM employees
WHERE startdate >= '15-jan-2011'
AND startdate <= '20-aug-2011'
GROUP BY startdate
Run Code Online (Sandbox Code Playgroud)
Der*_*omm 16
绝对.它将导致过滤日期范围内的记录,然后在有数据的每一天对其进行分组.
应该注意的是,您只能选择startdate,然后选择您正在计算的聚合.否则,它应该工作得很好.
例如,此查询将为您提供每个startdate的员工计数:
SELECT startdate, count(*)
FROM employees
WHERE startdate >= '15-jan-2011'
AND startdate <= '20-aug-2011'
GROUP BY startdate
Run Code Online (Sandbox Code Playgroud)