Rumah > pangkalan data > tutorial mysql > Bagaimana Mencari Nilai Minimum dan Maksimum Merentasi Baris Berturut-turut dengan Jurang dan Pulau?

Bagaimana Mencari Nilai Minimum dan Maksimum Merentasi Baris Berturut-turut dengan Jurang dan Pulau?

DDD
Lepaskan: 2024-12-24 19:14:11
asal
772 orang telah melayarinya

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

Mencari Nilai Minimum dan Maksimum untuk Baris Berturut-turut dengan Jurang dan Pulau

Matlamatnya adalah untuk mengekstrak nilai minimum dan maksimum lajur mula dan tamat untuk baris berturut-turut berkongsi nilai perbuatan yang sama, sambil mengabaikan jurang dan pulau baris dengan tindakan yang berbeza nilai.

Penyelesaian:

Untuk mencapai ini, kami menggunakan nombor baris untuk mengenal pasti kumpulan berturut-turut baris yang serupa:

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;
Salin selepas log masuk

Penjelasan:

  • Subquery cte menambah nombor baris dan bertindak nombor baris pada data input.
  • Pertanyaan utama mengumpulkan data mengikut nama, tindakan dan perbezaan antara nombor baris tindakan dan nombor baris. Perbezaan ini digunakan untuk membezakan antara baris berturut-turut dan tidak berturut-turut dalam nilai tindakan tertentu.
  • Penghimpunan membolehkan kami mengagregatkan nilai minimum dan maksimum untuk setiap kumpulan berturut-turut, menghapuskan jurang dan pulau.

Atas ialah kandungan terperinci Bagaimana Mencari Nilai Minimum dan Maksimum Merentasi Baris Berturut-turut dengan Jurang dan Pulau?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan