SQL Server查询到“ ftatten”数据以进行报告
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server查询到“ ftatten”数据以进行报告相关的知识,希望对你有一定的参考价值。
假设我有一个具有以下数据的表,结构如下。我正在尝试查询数据以查找某人(雇员)工作的日期范围。
NAME WORKED DATE
Bob YES 1/1/2019
Bob YES 1/2/2019
Bob YES 1/3/2019
Bob NO 1/4/2019
Bob YES 1/5/2019
Bob YES 1/6/2019
Bob NO 1/7/2019
Jane Yes 1/1/2019
Jane Yes 1/2/2019
Jame No 1/3/2019
预期结果:(我需要的结果)
Bob 1/1/2019 - 1/3/2019
Bob 1/5/2019 - 1/6/2019
Jane 1/1/2019 - 1/2/2019
返回此结果集的查询的SQL语法(SQL Server 2008+)是什么?提前谢谢
答案
这是一个孤岛问题。您可以使用row_number()
和某些日期算法来识别行。
因此,假设每个日期都有一行:
select name, min(date), max(date)
from (select t.*,
row_number() over (partition by name order by date) as seqnum
from t
where worked = 'YES'
) t
group by name,
dateadd(day, - seqnum, date);
以上是关于SQL Server查询到“ ftatten”数据以进行报告的主要内容,如果未能解决你的问题,请参考以下文章
使用查询从 Microsoft SQL Server 导出数据到目标数据
sql server和oracle中查询结果返回指定行数的语句