Recuperando los registros más recientes por grupo con grupo por
en este contexto, tiene una tabla nombrada "Mensajes" con las columnas "ID", "de_id", "to_id", "Mensaje", "Mensaje" y "TimestAMP". Su objetivo es extraer el mensaje más reciente de cada usuario, similar a la pantalla en una bandeja de entrada de Facebook.
La consulta proporcionada, "Seleccione * desde el grupo de mensajes por from_id", produce el mensaje más antiguo para cada usuario en lugar de lo último. Para rectificar esto, se requiere un enfoque alternativo.
para obtener los mensajes más recientes, debe determinar la marca de tiempo máxima para cada usuario y unir esta información con la tabla "Mensajes". La consulta a continuación logra esto:
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;
Esta consulta realiza la siguiente:
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3