Maison >base de données >tutoriel mysql >Comment récupérer les valeurs de colonne correspondantes avec la valeur maximale dans chaque catégorie ?
Récupération des valeurs de colonne correspondantes pour la requête de valeur maximale
Vous essayez d'exécuter une requête qui récupère la valeur maximale de video_id pour chaque video_category et les valeurs de colonnes correspondantes. Cependant, vous rencontrez un problème où la requête renvoie la première ligne au lieu de la ligne associée au video_id maximum.
Pour résoudre ce problème, une solution alternative consiste à utiliser une sous-requête pour identifier le video_id maximum distinct. pour chaque catégorie_vidéo. En joignant la table d'origine avec la sous-requête, vous pouvez effectivement lier chaque video_id maximum à ses valeurs de colonne correspondantes :
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
Cette requête révisée utilise une INNER JOIN, qui conserve uniquement les lignes qui satisfont à la condition de jointure. Dans ce cas, la jointure garantit que les lignes de la ou des tables principales correspondent aux lignes de la sous-requête (max) en fonction de l'équivalence video_id.
En tirant parti de cette approche, vous pouvez récupérer le maximum video_id pour chaque catégorie et les valeurs correspondantes pour video_url, video_date, video_title et short_description.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!