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
830 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!

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