En mi tabla posts
, guarda la marca de tiempo para cada registro de publicación.Agrupar por día desde la marca de tiempo
¿Qué consulta puede agrupar publicaciones por día usando esta columna de marca de tiempo?
En mi tabla posts
, guarda la marca de tiempo para cada registro de publicación.Agrupar por día desde la marca de tiempo
¿Qué consulta puede agrupar publicaciones por día usando esta columna de marca de tiempo?
¿Qué tal esto? Uso de la función DATE
:
SELECT DATE(FROM_UNIXTIME(MyTimestamp)) AS ForDate,
COUNT(*) AS NumPosts
FROM MyPostsTable
GROUP BY DATE(FROM_UNIXTIME(MyTimestamp))
ORDER BY ForDate
Esto le mostrará el número de mensajes en cada fecha que la tabla tiene datos para.
SELECT
*
FROM
(
SELECT DATE(FROM_UNIXTIME(MyTimestamp)) AS ForDate,
ROW_NUMBER() OVER (PARTITION BY DATE(FROM_UNIXTIME(MyTimestamp)) ORDER BY MyTimeStamp) AS PostRowID,
*
FROM MyPostsTable
)
AS sequenced_daily_posts
WHERE
ForDate = <whatever date(s) you want>
AND PostRowID <= 2
Gracias, pero vea mi último comentario: 'solo quiero mostrar 2 de las últimas publicaciones en cada fecha' Creo que esta consulta solo muestra publicaciones que en la fecha de que tiene 2 publicaciones –
Probé Usted consulta y devuelve error de sintaxis en' (PARTICIÓN POR FECHA (FROM_UNIXTIME (MyTimestamp))) ' –
Si un día tiene 1 publicación, se mostrará una publicación para ese día. Si un día tiene 2 publicaciones, mostrará las dos publicaciones de ese día. Si un día tiene 3 o más publicaciones, solo mostrará las 2 primeras publicaciones para ese día. (Agregue DESC al ORDER BY para que muestre las dos últimas publicaciones de cada día.) Este límite de 2 por día no tiene ninguna incidencia en si tiene cien días, totalizando hasta 200 registros devueltos. – MatBailie
SELECT DATE(timestamp) AS ForDate,
COUNT(*) AS NumPosts
FROM user_messages
GROUP BY DATE(timestamp)
ORDER BY ForDate
Esta comprobado por mí. Tengo una marca de tiempo como "2013-03-27 15:46:08".
This trabajado en MySQL 5.1.52. DATE (FROM_UNIXTIME (MyTimestamp)) en respuesta anterior devuelto nulo. –
Encontré mi respuesta, pero su respuesta es incorrecta, es nula, correcta es: 'FECHA (FROM_UNIXTIME (timestamp))' –
Su respuesta editada es correcta, gracias –
@ p.campbell: cómo puede limitar las filas para cada fecha ? ejemplo: para '2011-05-11' tengo 10 publicaciones y para '2011-05-12' 20 publicaciones, quiero mostrar' 2 publicaciones' para cada fecha, ¿me pueden ayudar? –