Récupération des valeurs de colonne correspondant à la valeur maximale
Lors de l'interrogation d'une base de données, il peut être nécessaire d'extraire les données de plusieurs colonnes en fonction de la valeur maximale valeur d'une autre colonne. Cependant, un problème courant se produit lorsque le résultat renvoie les données de la première ligne pour les colonnes correspondantes au lieu de la ligne correspondant à la valeur maximale.
Pour résoudre ce problème, une approche consiste à utiliser des requêtes imbriquées. Le code suivant montre une solution alternative utilisant l'opérateur JOIN :
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
Dans cette requête, nous utilisons une sous-requête pour trouver le video_id maximum pour chaque video_category. L'opérateur JOIN est ensuite utilisé pour joindre la ou les tables vidéos avec le résultat de la sous-requête (max) en fonction de la condition s.video_id = max.id. Cela garantit que chaque ligne renvoyée correspond au video_id maximum pour sa video_category respective.
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!