Récupération des enregistrements les plus récents par groupe avec groupe par
Dans ce contexte, vous avez un tableau nommé "Messages" avec les colonnes "id", "from_id", "to_id", "sujet", "message", et "timestamp". Votre objectif est d'extraire le message le plus récent de chaque utilisateur, semblable à l'écran dans une boîte de réception Facebook.
La requête fournie, "SELECT * FROM Messages Group by_id", donne le message le plus ancien pour chaque utilisateur au lieu des derniers. Pour rectifier cela, une approche alternative est requise.
Pour obtenir les messages les plus récents, vous devez déterminer l'horodatage maximal pour chaque utilisateur et rejoindre ces informations avec le tableau "Messages". La requête ci-dessous accomplit ceci:
SELECT t1.* FROM messages t1 JOIN (SELECT from_id, MAX(timestamp) timestamp FROM messages GROUP BY from_id) t2 ON t1.from_id = t2.from_id AND t1.timestamp = t2.timestamp;
Cette requête effectue les éléments suivants:
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3