Maison > base de données > tutoriel mysql > Comment récupérer le PID de la dernière ligne pour chaque RID unique dans MySQL ?

Comment récupérer le PID de la dernière ligne pour chaque RID unique dans MySQL ?

Patricia Arquette
Libérer: 2025-01-04 07:12:33
original
149 Les gens l'ont consulté

How to Fetch the Latest Row's PID for Each Unique RID in MySQL?

Récupération de la dernière ligne par groupe à l'aide de MAX() et GROUP BY

Considérez un scénario dans lequel vous disposez d'une table MySQL avec des colonnes telles que l'horodatage, le coût, le débarras, etc. . Votre objectif est de récupérer le pid de la dernière ligne pour chaque débarras unique.

Vous avez tenté cela en utilisant ce qui suit. requête :

SELECT MAX(timestamp),rid,pid FROM theTable GROUP BY rid
Copier après la connexion

Cependant, les valeurs pid renvoyées n'étaient pas alignées sur les horodatages maximum. En effet, GROUP BY considère toutes les colonnes de la clause SELECT et sélectionne la première ligne correspondante pour chaque groupe.

Pour remédier à cela, nous devons identifier le débarras et l'horodatage maximum pour chaque groupe. Nous pouvons le faire en utilisant une sous-requête :

SELECT rid, MAX(timestamp) AS ts
FROM theTable
GROUP BY rid
Copier après la connexion

Le résultat de cette requête ressemblera à ceci :

rid | ts
-----|-----
1    | 2011-04-14 01:06:06
2    | 2011-04-14 01:05:41
3    | 2011-04-14 01:14:14
Copier après la connexion

Maintenant, nous pouvons joindre la table d'origine avec cette sous-requête, en utilisant rid et l'horodatage, pour récupérer les valeurs pid souhaitées :

SELECT theTable.pid, theTable.cost, theTable.timestamp, theTable.rid
FROM theTable
INNER JOIN 
(
    SELECT rid, MAX(timestamp) AS ts
    FROM theTable
    GROUP BY rid
) AS maxt
ON (theTable.rid = maxt.rid AND theTable.timestamp = maxt.ts)
Copier après la connexion

Le résultat de cette requête vous fournira le pid, le coût, l'horodatage et débarrassé de la dernière ligne pour chaque débarras unique.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal