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
Lepaskan: 2024-12-29 22:00:20
asal
831 orang telah melayarinya

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

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!

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