tengo esta consulta:MySQL Seleccionar desde: Seleccionar
SELECT DATE(a.created_at) AS order_date, count(*) as cnt_order
FROM `sales_order_item` AS a
WHERE MONTH(a.created_at) = MONTH(now())-1
GROUP BY order_date
que devolverá resultado algo como esto (instantánea de otro modo sólo volverá por 31 días):
order_date cnt_order
2012-08-29 580
2012-08-30 839
2012-08-31 1075
y mi consulta completa es seleccionar basa en la selección anterior:
SELECT order_date
, MAX(cnt_order) AS highest_order
FROM (
SELECT DATE (a.created_at) AS order_date
, count(*) AS cnt_order
FROM `sales_order_item` AS a
WHERE MONTH(a.created_at) = MONTH(now()) - 1
GROUP BY order_date
) AS tmax
Pero el resultado:
order_date highest_order
2012-08-01 1075
que tiene la fecha incorrecta y siempre elige la primera fila de fecha donde suponga 2012-08-31. Tal vez este es un error simple que no sé. Entonces, ¿cómo obtener la fecha adecuada para 2012-08-31? Cualquier ayuda sería genial.
ha agregado el resultado de la subconsulta, que da como resultado un valor único que a su vez también es correcto. ¿Por qué realmente quieres lograr? \ –
Para obtener el mayor recuento de pedidos de esa subconsulta, como puedes ver el máximo() hazlo bien 1075 pero por qué la fecha es incorrecta. – Ardeus