2016-03-24 13 views
0

Ben grupların aşağıdaki türden bir çözüm bulmaya çalışıyorum:MS SQL Server 2005 gruplandırma Benzer Veriler

My Veri

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 

Ve böyle bir sonuç almak için çalışıyorum:

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 

Çeşitli formülleri denedim ve benzer formül numaralarını toplayabildiğim halde, sonuçları listelediğim biçimde almak için sıralama yapamıyorum. Ben .. Hiç başlangıç ​​ve verilerin gruplarının bitiş tarihini nasıl da emin değilim

Herhangi bir düşünce veya yardım büyük takdir ..

cevap

0

formülle aşağıdaki sorgu irade grubu ve sayımı yanı sıra min ve max tarihleri ​​sağlar. Tablodaki verilere dayanarak, Formula # 2 için 2 ayrı veri seti olması gerektiğini bilmenin bir yolu yoktur, bu yüzden tek bir sıra halinde gruplandırılmaktadır. Cevabınız için

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

teşekkürler ... bu temelde oldu ben ile geldi sorgu ile başlayacak ... ama benim örnekte açıklandığı gibi şeyler ayırmak ve grup almak edemedi. Özellikle, Formula 2'nin 2 ayrı grupta oturum açmasıyla ... nihayetinde ihtiyacım olan şey bu, yapmaya çalıştıklarımdan beri kronolojik bir formüller ve tarih aralıkları listesi sağlamaktır. Bu yüzden Formula 2'yi birlikte gruplamak Bunu gerçekleştiremez .. – cbabbman

+0

Bir formülün başlangıcını/ortasını/sonunu belirten bir gösterge varsa, bu doğru olur. Sağlanan verilerle, bunu başarmak için düşünebilmemin tek yolu, her bir 'formül' süresi boyunca bir eşik belirlemek için minimum/maksimum süreler arasındaki farkın bir durum ifadesi kullanmasıdır. – hikingstick