SQL 服务器:分组结果
SQL Server : grouping results
我需要根据一行的内容来分离一个结果集,每当这一行有代码110时,就意味着它开始了一个新的组。
这一行是服务状态的代码,每次我的客户收到答案时我都在控制,如果客户 returns 有以下问题, table 会收到一条新记录代码 110.
我尝试使用 LAG 函数,但无法得到我需要的东西,我也使用分区 row_number 进行了一些解决方法,但无法得到我需要的东西。
关于如何实现此目标的任何想法?
谢谢。
编辑:
示例数据:
https://docs.google.com/spreadsheets/d/1WUcg5A0r6LGvXC9UOdjG9YUtxG2L47od8H9cX8MgaFQ/edit?usp=sharing
我需要在这个数据上创建一个内部组,每次内部代码是110,我需要增加组号,就像电子表格上的内部组列。
SELECT
d.[Start date],
d.[final date],
d.[Situation],
d.[Reason for client reopening],
d.[Call time],
d.[Total time],
d.[Internal Code],
d.[SLA time],
SUM(
CASE
WHEN d.[Internal Code] = 110 THEN 1
ELSE 0
END) OVER (
ORDER BY
d.[Start date] ROWS UNBOUNDED PRECEDING)
FROM
dbo.ExampleData d;
我需要根据一行的内容来分离一个结果集,每当这一行有代码110时,就意味着它开始了一个新的组。
这一行是服务状态的代码,每次我的客户收到答案时我都在控制,如果客户 returns 有以下问题, table 会收到一条新记录代码 110.
我尝试使用 LAG 函数,但无法得到我需要的东西,我也使用分区 row_number 进行了一些解决方法,但无法得到我需要的东西。
关于如何实现此目标的任何想法?
谢谢。
编辑:
示例数据: https://docs.google.com/spreadsheets/d/1WUcg5A0r6LGvXC9UOdjG9YUtxG2L47od8H9cX8MgaFQ/edit?usp=sharing
我需要在这个数据上创建一个内部组,每次内部代码是110,我需要增加组号,就像电子表格上的内部组列。
SELECT
d.[Start date],
d.[final date],
d.[Situation],
d.[Reason for client reopening],
d.[Call time],
d.[Total time],
d.[Internal Code],
d.[SLA time],
SUM(
CASE
WHEN d.[Internal Code] = 110 THEN 1
ELSE 0
END) OVER (
ORDER BY
d.[Start date] ROWS UNBOUNDED PRECEDING)
FROM
dbo.ExampleData d;