Ho questa domanda:mysql Selezionare Selezionare
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
che restituirà risultato qualcosa di simile (istantanee altrimenti tornerà per 31 giorni):
order_date cnt_order
2012-08-29 580
2012-08-30 839
2012-08-31 1075
e la mia query full sta selezionando basa su sopra selezione:
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
Ma il risultato:
order_date highest_order
2012-08-01 1075
Quale ha la data errata e sempre selezionare la prima riga di data in cui supporre 2012-08-31. Forse questo è un semplice errore che non so. Quindi, come ottenere la data giusta per il 2012-08-31? Qualsiasi aiuto sarebbe grande.
avete aggregato il risultato della sottoquery che risulta a valore singolo che a sua volta è corretto. perché vuoi davvero raggiungere? \ –
Per ottenere il conteggio degli ordini più alto da quella sottoquery, come puoi vedere il massimo() farlo correttamente 1075 ma perché la data è sbagliata. – Ardeus