mam tej kwerendy:mysql Wybierz z Select
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
która będzie zwracać wynik coś takiego (snapshot tylko inaczej wróci za 31 dni):
order_date cnt_order
2012-08-29 580
2012-08-30 839
2012-08-31 1075
i moje pełne zapytanie jest wybranie na podstawie powyższego wybór:
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
Ale to skutkować:
order_date highest_order
2012-08-01 1075
Która ma nieprawidłową datę i zawsze wybieraj pierwszy wiersz daty, w którym przypuszczalnie 2012-08-31. Może to prosty błąd, którego nie znam. Jak więc uzyskać poprawną datę na lata 2012-08-31? Każda pomoc byłaby świetna.
sumujesz wynik z podzapytania, który powoduje pojedynczą wartość, która z kolei również jest prawidłowa. dlaczego tak naprawdę chcesz osiągnąć? \ –
Aby uzyskać najwyższy porządek z tego podkwerendy, jak można zobaczyć max() uzyskać prawo 1075, ale dlaczego data jest błędna. – Ardeus