Tengo la siguiente consulta de MySQL, y estoy tratando de ajustarla para que solo obtenga los resultados que están dentro del mes actual (del año actual), supongo que puede requerir más información sobre mi estructura de MySQL así que aquí va - Tengo una marca de tiempo UNIX generada por PHP time()
almacenada dentro de la columna time
(debajo de la tabla referrals
), por lo que con la configuración siguiente sería t2.time
.MySQL solo en el mes actual?
Así que mi problema es que no estoy seguro de cómo proceder, supongo que sería algo así como agregar lo siguiente al final de la cláusula WHERE
? =>AND t2.time IS WITHIN THE CURRENT MONTH
(las mayúsculas son solo para distinguir el problema del resto de la consulta) pero no estoy seguro de cómo verificar si está dentro del mes actual.
El MySQL Query:
SELECT t1.username,
t1.website,
SUM(IF(t2.type = 'in', 1, 0)) AS in_count,
SUM(IF(t2.type = 'out', 1, 0)) AS out_count
FROM users AS t1
JOIN referrals AS t2
ON t1.username = t2.author
WHERE t1.website != ''
GROUP BY t1.username,
t1.website
ORDER BY in_count DESC
LIMIT 0, 10
apreciar todo ayuda! : B
¿sabe usted que el tipo de datos 'time' no almacena detalles de año + mes? lo que significa que su aplicación va a tener problemas para el año 2012 – ajreal
@ajreal No estoy seguro de entenderlo, pero el tipo es INT dentro de la base de datos, y es una marca de tiempo UNIX generada por el tiempo de PHP(). – newbtophp
así que no es el tipo de datos 'tiempo' ?, mi malo, a toda costa, evite utilizar palabras clave reservadas como columna o tabla – ajreal