2016-03-24 113 views
0

我试图找到一个解决以下类型分组:MS SQL Server 2005中 - 将类似数据

我的数据

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 

我已经尝试了各种各样的东西,虽然我可以卷起类似的公式编号,但似乎无法得到它以按我列出的格式获得结果。我也不能肯定都怎么弄的起点和数据组的结束日期..

任何想法或帮助将不胜感激..

回答

0

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

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

感谢您的回复... 这基本上是我想出了用查询开始......但我无法把事情就像我在我的例子描述分离出和组。具体来说,当公式2被记录在两个独立的团队......最终,这就是我所需要的,因为我想要做的是提供公式的时间顺序列表和日期范围,以便他们在运行时将所有公式2组合在一起没有完成这个.. – cbabbman

+0

如果有一个指标指定公式的开始/中间/结束,这将是直截了当的。利用提供的数据,我能想到的唯一方法就是使用关于最小/最大时间差异的案例声明来设置每个“公式”的持续时间的阈值。 – hikingstick