首頁 > 資料庫 > mysql教程 > 如何找到具有間隙和孤島的連續行的最小值和最大值?

如何找到具有間隙和孤島的連續行的最小值和最大值?

DDD
發布: 2024-12-24 19:14:11
原創
765 人瀏覽過

How to Find Minimum and Maximum Values Across Consecutive Rows with Gaps and Islands?

找出具有間隙和孤島的連續行的最小值和最大值

目標是提取起始列和結束列的最小值和最大值對於共享相同act 值的連續行,同時忽略具有不同act的行的間隙和孤島

解決方案:

為了實現此目的,我們利用行號來識別類似行的連續組:

with cte as (
  select name, act, rn, startt, endd,
         row_number() over (partition by name, act order by rn) as act_rn
  from input
)
select name, act, min(startt), max(endd)
from cte
group by name, act, act_rn - rn;
登入後複製

說明:

  • 子查詢cte將行號和行為行號加入輸入資料。
  • 主查詢會依照名稱、行為以及行為行號和行號之間的差異來分組資料。這種差異用於區分特定行為值內的連續行和非連續行。
  • 分組允許我們聚合每個連續組的最小值和最大值,從而消除間隙和孤島。

以上是如何找到具有間隙和孤島的連續行的最小值和最大值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板