努力したWiki

推敲の足りないメモ書き多数

ユーザ用ツール

サイト用ツール


documents:proglang:sql:sql-0014

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
documents:proglang:sql:sql-0014 [2026/05/08 12:20] k896951documents:proglang:sql:sql-0014 [2026/05/16 11:37] (現在) – [SQLで指定時間幅でまとめる] k896951
行 1: 行 1:
 +====== 007.SQLで指定時間幅でまとめる ======
 +
 +2024/03/19 おまけ追加\\ 
 +2024/03/18 ヒントだけ
 +
 +===== サンプルデータ =====
 +
 +こういうデータがあったとします。\\ 
 +{{:documents:database:pasted:20240318-130641.png?nolink}}
 +
 +===== 連続した2秒以内の塊を得る =====
 +
 +項目DEVID毎に、連続した2秒以内のレコード群を一つのグループに纏めたいという要求がありました。\\ 
 +以下のクエリでとりあえずグループの識別はできました。\\ 
 +
 +項目MARKが'T'のレコードがグループの先頭レコードになるんじゃないかな、と。
 +
 +{{:documents:database:pasted:20240318-130728.png?nolink}}
 +
 +
 +===== グルーピングはできない =====
 +
 +グループ化するキーが無いので、グルーピングはできないです。精々グループの先頭レコードの識別ぐらいしかできないです。\\ 
 +
 +疑似的なグループ化であれば、項目MARKが'T'のレコードだけ抽出すればいい。\\ 
 +{{:documents:database:pasted:20240318-130823.png?nolink}}
 +
 +また、このクエリは2秒を越えて連続しているレコードの状態も切り分けが出来ません。※連続した2つ以上の塊の識別はできない\\
 +厳密に求めるなら先頭レコードのタイムスタンプからの差分を取る必要があるでしょう。
 +
 +===== おまけ(塊先頭のタイムスタンプをキーにする) =====
 +
 +結果が正しいかは検証していませんが思いついたことがあったので試してみました。\\ 
 +表面上の結果はうまくいっているように見えました。
 +
 +{{:documents:database:pasted:20240319-021516.png?nolink}}
 +
 +{{tag>技術資料 SQL 時間幅での集約}}
  
documents/proglang/sql/sql-0014.txt · 最終更新: by k896951

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki