Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server MS SQL Server 2005-将类似数据分组_Sql Server - Fatal编程技术网

Sql server MS SQL Server 2005-将类似数据分组

Sql server MS SQL Server 2005-将类似数据分组,sql-server,Sql Server,我试图找到以下类型分组的解决方案: 我的数据 Formula # Date 1 2016-01-02 12:05:00 1 2016-01-02 12:07:00 2 2016-01-02 12:10:00 2 2016-01-02 12:15:00 3 2016-01-02 12:25:00 3 2016-01-02 12:30:00 3 2016-0

我试图找到以下类型分组的解决方案:

我的数据

Formula #   Date
1           2016-01-02 12:05:00
1           2016-01-02 12:07:00
2           2016-01-02 12:10:00
2           2016-01-02 12:15:00
3           2016-01-02 12:25:00
3           2016-01-02 12:30:00
3           2016-01-02 12:50:00
3           2016-01-02 12:55:00
2           2016-01-02 13:05:00
2           2016-01-02 13:25:00
2           2016-01-02 13:40:00
我试图得到这样的结果:

Formula     Count  Start Date             End Date
1           2      2016-01-02 12:05:00    2016-01-02 12:07:00
2           2      2016-01-02 12:10:00    2016-01-02 12:15:00
3           4      2016-01-02 12:25:00    2016-01-02 12:55:00
2           3      2016-01-02 13:05:00    2016-01-02 13:40:00
我尝试过各种方法,虽然我可以把类似的公式数字汇总起来,但我似乎无法按照我列出的格式对其进行排序以得到结果。我也不知道如何获得数据组的开始和结束日期


如果您有任何想法或帮助,我们将不胜感激。

下面的查询将按公式分组,并提供计数以及最小和最大日期。根据表中的数据,无法知道公式#2应该有两组独立的数据,因此将其分组为一行

SELECT
    [Formula]
    ,COUNT([Formula]) AS [COUNT]
    ,MIN([Date]) AS [MIN_DATE]
    ,MAX([Date]) AS [MAX_DATE]
FROM 
    #test_table
GROUP BY
    [Formula]

谢谢你的回复。。。这就是我最初提出的问题。。。但我无法像我在示例中所描述的那样将事物分开并分组。特别是,方程式2被记录在两个独立的组中。。。最终,这就是我所需要的,因为我要做的是提供一个按时间顺序排列的公式列表和它们运行时的日期范围,所以将所有公式2分组在一起并不能实现这一点。如果有一个指标指定公式的开始/中间/结束,这将非常简单。有了提供的数据,我能想到的实现这一点的唯一方法是使用一个关于最小/最大时间差的case语句来设置每个“公式”持续时间的阈值。