我有一个包含以下条目的数据库(SQL 2014):
Name Date
John 02/02/2017
John 03/02/2017
John 04/02/2017
John 13/03/2017
John 14/03/2017
这些条目代表缺勤的障碍 - 每次可能只有一天,或几天的障碍(一个区块内可能有一个月的过渡)。
我想总结一下这些数据:
Name MinDate MaxDate
John 02/02/2017 04/02/2017
John 13/03/2017 14/03/2017
其中输出包含每个块的第一天和最后一天(连同缺少的天数,这将是直截了当的)。
答案 0 :(得分:1)
使用YEAR
和MONTH
SELECT
T.Name,
MIN(T.Date) MinDate,
MAX(T.Date) MaxDate
FROM
Tbl T
GROUP BY
T.Name,
YEAR(T.Date),
MONTH(T.Date)