データ分析に関する質問があります.T-SQLやスクリプトを使用して簡単に解決できると思いますが、巧妙なSQLソリューションがあるかどうかは疑問でした。問題は、SQLの行独立性の仮定を少し混乱させるということです。SQLで連続した重複レコードをカウントする
私は、ユーザーに関連付けられていると服従が注文した、例えば名前と値のペアで構成され、テーブルがあります。
ID USERID VARIABLE VALUE SUBMITTED 3115 2287 votech05 2 2009-02-02 15:34:00 3116 2287 comcol05 1 2009-02-02 15:34:00 3117 2287 fouryr05 1 2009-02-02 15:35:00 3118 2287 none05 2 2009-02-02 15:35:00 3119 2287 ocol1_05 2 2009-02-02 15:44:00 3120 2287 disnone 2 2009-02-02 15:45:00 3121 2287 dissense 2 2009-02-02 15:49:00 3122 2287 dismobil 3 2009-02-02 15:51:00 3123 2287 dislearn 3 2009-02-02 15:51:00 3124 2287 disment 3 2009-02-02 15:52:00 3125 2287 disother 2 2009-02-02 15:55:00 3126 2287 disrefus 7 2009-02-02 15:58:00
私は最大の値と回数を決定できるようにしたいと思いますが同じ値のグループ(データがIDプライマリキーの順序になっている場合)。したがって、上記の例のために、私が持っているので、4値= 2が順番に登場し、わずか3つの値= 3は、私が報告したいと思う:指定したユーザーのための
USERID VALUE COUNT 2287 2 4
。
また、これは他のツールを使用してかなり迅速に行うことができますが、データセットがかなり大きく(約7,500万レコード)頻繁に変更されるため、この問題をクエリで解決できることがうまくいくでしょう。私はあなたがその連続する値の各グループに「頭」番号を割り当てることによって行うことができます(コメントの後編集)SQL Server 2005の
Good title edit、Brian。ありがとう。私は調査研究者のために働き、彼の言葉は私がその問題について考えていたやり方を偏らせていました。 –