Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mencari Nilai Maksimum untuk Setiap ID Pengguna yang Berbeza dalam Jadual Oracle?

Bagaimana untuk Mencari Nilai Maksimum untuk Setiap ID Pengguna yang Berbeza dalam Jadual Oracle?

Linda Hamilton
Lepaskan: 2025-01-25 18:23:11
asal
778 orang telah melayarinya

How to Find the Maximum Value for Each Distinct User ID in an Oracle Table?

Mendapatkan nilai maksimum untuk setiap ID pengguna yang unik di Oracle

Panduan ini menunjukkan bagaimana untuk mengekstrak nilai maksimum yang berkaitan dengan setiap ID pengguna yang berbeza dari jadual Oracle. Anggapkan jadual yang berstruktur seperti berikut:

<code>UserId, Value, Date</code>
Salin selepas log masuk
Objektifnya adalah untuk mengambil

dan yang sepadan UserId di mana Value adalah yang paling terkini untuk setiap pengguna. Date

Berikut adalah pertanyaan SQL Oracle yang berkesan untuk mencapai ini:

SELECT t1.*
FROM mytable t1
LEFT OUTER JOIN mytable t2
  ON (t1.UserId = t2.UserId AND t1."Date" < t2."Date")
WHERE t2.UserId IS NULL;
Salin selepas log masuk
Pertanyaan ini menggunakan

untuk membandingkan setiap baris dalam LEFT OUTER JOIN (aliased as mytable) dengan semua baris lain (aliased as t1) yang sama t2 yang sama. Keadaan Join UserId memastikan bahawa hanya baris dengan tarikh kemudian dipertimbangkan. t1."Date" < t2."Date"

klausa

menapis hasilnya. Baris di mana WHERE t2.UserId IS NULL adalah t2.UserId menunjukkan bahawa tiada baris lain dengan NULL yang sama dan kemudian UserId ada. Oleh itu, baris ini mewakili tarikh maksimum bagi setiap pengguna. Date

Contoh:

jika

mengandungi data berikut: mytable

UserId Value Date
1 5 2023-03-08
1 10 2023-03-15
2 3 2023-04-01
2 7 2023-04-10
pertanyaan akan kembali:

UserId Value Date
1 10 2023-03-15
2 7 2023-04-10
Pendekatan ini cekap dan mengelakkan keperluan untuk subqueries atau fungsi tingkap, menjadikannya penyelesaian yang mantap untuk pangkalan data Oracle.

Atas ialah kandungan terperinci Bagaimana untuk Mencari Nilai Maksimum untuk Setiap ID Pengguna yang Berbeza dalam Jadual Oracle?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan