Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mendapatkan Nilai Maksimum dan Lajur Berkaitan dalam Subqueries SQL?

Bagaimana untuk Mendapatkan Nilai Maksimum dan Lajur Berkaitan dalam Subqueries SQL?

Barbara Streisand
Lepaskan: 2024-12-29 12:51:15
asal
460 orang telah melayarinya

How to Retrieve Maximum Value and Associated Columns in SQL Subqueries?

Subquery Nilai Maksimum dalam SQL

Dalam pertanyaan ini, anda berusaha untuk mendapatkan semula nilai yang sepadan untuk lajur berdasarkan nilai maksimum lajur lain . Walaupun pendekatan asal anda menggunakan pernyataan GROUP BY, pendekatan ini hanya mengambil ID video maksimum dengan pasti tetapi bukan data yang berkaitan daripada lajur lain.

Untuk menangani perkara ini, pertimbangkan untuk menggunakan subkueri yang mengenal pasti ID video maksimum yang berbeza bagi setiap kategori . Pertanyaan yang diubah suai di bawah mematuhi pendekatan ini:

SELECT
    *
FROM
    videos
WHERE
    video_id IN
    (
        SELECT
            DISTINCT
            MAX(video_id)
        FROM
            videos
        GROUP BY
            video_category
    ) 
ORDER BY
    video_category ASC
Salin selepas log masuk

Dalam pertanyaan ini, subkueri digunakan untuk mengasingkan set ID video maksimum. Jadual kemudian ditapis menggunakan set ini untuk mendapatkan semula semua lajur untuk ID video maksimum yang sepadan. Dengan memanfaatkan operator IN dan menggabungkan hasil, pertanyaan ini mendapatkan nilai yang dikehendaki dengan cekap.

Sebagai alternatif, anda boleh menggunakan operasi gabungan untuk mencapai hasil yang sama, seperti ditunjukkan di bawah:

SELECT
   s.video_id
   ,s.video_category
   ,s.video_url
   ,s.video_date
   ,s.video_title
   ,s.short_description
FROM videos s
   JOIN (SELECT MAX(video_id) AS id FROM videos GROUP BY video_category) max
      ON s.video_id = max.id
Salin selepas log masuk

Pendekatan ini menggunakan gabungan untuk memadankan baris ID video maksimum dengan baris yang sepadan daripada jadual video, mendapatkan set lengkap lajur untuk setiap ID video maksimum. Kedua-dua penyelesaian menangani isu ini dengan berkesan dengan menangkap nilai yang dikaitkan dengan ID video maksimum dalam setiap kategori.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Nilai Maksimum dan Lajur Berkaitan dalam Subqueries SQL?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan