Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mendapatkan Nilai Lajur Sepadan untuk Nilai Maksimum dalam SQL?

Bagaimana untuk Mendapatkan Nilai Lajur Sepadan untuk Nilai Maksimum dalam SQL?

Patricia Arquette
Patricia Arquetteasal
2024-12-29 22:00:20850semak imbas

How to Retrieve Corresponding Column Values for the Maximum Value in SQL?

Mendapatkan Nilai Lajur Sepadan untuk Nilai Maksimum

Dalam SQL, anda mungkin menghadapi situasi di mana anda ingin mendapatkan nilai lajur yang sepadan dengan maksimum nilai lajur lain, sambil memastikan bahawa data yang diambil adalah tepat.

Masalah:

Apabila menanyakan jadual untuk mendapatkan lajur tertentu dan mengumpulkan hasil berdasarkan lajur, seperti kategori video, anda boleh memerhatikannya untuk nilai maksimum lajur yang ditetapkan (cth., video_id), ia menarik nilai yang betul tetapi mengembalikan baris pertama dalam jadual untuk semua lajur lain (cth., video_url, video_date, video_title dan short_description).

Penyelesaian:

Untuk mendapatkan semula lajur yang sepadan dengan nilai maksimum dengan sewajarnya, pertimbangkan pendekatan berikut:

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

Pertanyaan ini memanfaatkan operasi JOIN untuk memadankan ID video (video_id) daripada subquery yang mengira ID video (id) maksimum untuk setiap kategori video dengan ID video daripada jadual video. Dengan menggunakan syarat JOIN s.video_id = max.id, ia memastikan bahawa hanya baris dengan ID video maksimum untuk setiap kategori dikembalikan.

Pendekatan ini bukan sahaja menyediakan nilai sepadan yang betul untuk ID video maksimum tetapi juga berprestasi jauh lebih pantas daripada penyelesaian yang dicadangkan dalam siaran asal.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Nilai Lajur Sepadan untuk Nilai Maksimum dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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