Maison >base de données >tutoriel mysql >Comment récupérer les valeurs de colonne correspondantes avec la valeur maximale dans chaque catégorie ?

Comment récupérer les valeurs de colonne correspondantes avec la valeur maximale dans chaque catégorie ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-31 19:59:10285parcourir

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

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn