Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mendapatkan Nilai Lajur Sepadan dengan Nilai Maksimum dalam Setiap Kategori?

Bagaimana untuk Mendapatkan Nilai Lajur Sepadan dengan Nilai Maksimum dalam Setiap Kategori?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-31 19:59:10285semak imbas

How to Retrieve Corresponding Column Values with the Maximum Value in Each Category?

Mendapatkan Nilai Lajur Sepadan untuk Pertanyaan Nilai Maksimum

Anda sedang cuba melaksanakan pertanyaan yang mendapatkan semula nilai video_id maksimum untuk setiap video_kategori dan nilai lajur yang sepadan. Walau bagaimanapun, anda menghadapi masalah apabila pertanyaan mengembalikan baris pertama dan bukannya baris yang dikaitkan dengan video_id maksimum.

Untuk menangani cabaran ini, penyelesaian alternatif ialah menggunakan subquery untuk mengenal pasti video_id maksimum yang berbeza. untuk setiap video_category. Dengan menyertai jadual asal dengan subquery, anda boleh memautkan setiap video_id maksimum dengan berkesan kepada nilai lajurnya yang sepadan:

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 yang disemak ini menggunakan INNER JOIN, yang mengekalkan hanya baris yang memenuhi syarat gabungan. Dalam kes ini, cantuman memastikan bahawa baris dalam jadual (s) utama dipadankan dengan baris dalam subquery (maks) berdasarkan kesetaraan video_id.

Dengan memanfaatkan pendekatan ini, anda boleh mendapatkan semula maksimum video_id untuk setiap kategori dan nilai yang sepadan untuk video_url, video_date, video_title dan short_description.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Nilai Lajur Sepadan dengan Nilai Maksimum dalam Setiap Kategori?. 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