2016-09-09 16 views
0

行の内容に基づいて結果セットを区切る必要があります。この行にコード110があるたびに、新しいグループを開始したことを意味します。SQL Server:結果のグループ化

この行は、サービスのステータスのコードで、クライアントは、次の質問を返した場合、私は、私のクライアントは答えを受信した各時間を制御しています、テーブルには、私が試した110

コードで新しいレコードを受け取りますLAG関数を使用して私が正確に必要なものを得ることができなかった、私はまた、パーティションを使用してrow_numberでいくつかの回避策が、私が必要なものを得ることができませんでした。

どのように私はこれを達成することができますか?

ありがとうございます。

編集:

例データ: https://docs.google.com/spreadsheets/d/1WUcg5A0r6LGvXC9UOdjG9YUtxG2L47od8H9cX8MgaFQ/edit?usp=sharing

私は内部コードが110であるたびに、私は内部のグループのように、グループの数を増やす必要があり、このデータ上の内部グループを作成する必要がありますスプレッドシートの列

+0

これは非常に不明瞭である – techspider

+0

(http://stackoverflow.com/help/how-to-ask)[どのように私は良い質問をするのですか?]を参照してください。サンプルデータと希望の結果を投稿してください。あなたが使用しているSQL Serverのバージョンにもタグを付けてください – Lamak

+0

いくつかのサンプルデータと希望する結果を投稿できます。 – GuidoG

答えて

0
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; 
+0

Bruce Dunwiddie、本当に感謝しています –

関連する問題