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