/ / obtener la suma de valores de la tabla mysql por mes a partir del mes actual - php, mysql

obtenga la suma de los valores de la tabla mysql por mes a partir del mes actual - php, mysql

Hola, actualmente tengo dos tablas, una tiene entradas diarias y otra obtiene el total de esas y almacena valores mensuales.

Soy capaz de obtener los totales de cada mes y añocon la siguiente consulta, pero lo que me gustaría hacer es obtener los meses en los que el mes es mayor y igual al mes actual. La columna de la fecha de BTW está en formato de fecha (aaaa-mm-dd)

$revbyMonth = $conn->prepare("SELECT EXTRACT(MONTH FROM date) as month, EXTRACT(YEAR FROM date) as year, SUM(rev) as total FROM {$tempName} GROUP BY year, month");

Respuestas

1 para la respuesta № 1

Quieres añadir un where cláusula inmediatamente después de la from cláusula. Creo que esto funcionará para ti. Si la fecha no tiene componente de tiempo:

where date > date_sub(curdate(), interval day(curdate()) day)

La expresion date_sub(curdate(), interval day(curdate()) day) Recibe el último día del mes anterior. Si las fechas tienen un componente de tiempo:

where date >= date_sub(curdate(), interval day(curdate()) - 1 day)

Deberia trabajar.

Nota: esto es mejor que otros métodos que procesan. date utilizando funciones, tales como:

where year(date) > year(curdate()) or
(year(date) = year(curdate()) and month(date) >= month(curdate()) )

El uso de las funciones evita que MySQL use un índice en el date columna.