mysql Sélectionnez Sélectionnez
J'ai cette requête:
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
qui sera de retour suite à quelque chose comme ceci (instantané seulement contraire sera de retour au 31 jours):
order_date cnt_order
2012-08-29 580
2012-08-30 839
2012-08-31 1075
et plein ma requête sélection en fonction de la sélection précédente:
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
Mais c'résultat :
order_date highest_order
2012-08-01 1075
Qui a la mauvaise date et toujours choisir la première ligne de la date où il suppose que 2012-08-31. C'est peut-être une simple erreur que je ne sais pas. Alors, comment obtenir la date de point de droit pour 2012-08-31? Toute aide serait super.
vous agrégés à la suite de la sous-requête qui les résultats de la seule valeur qui est également correct. pourquoi voulez-vous vraiment atteindre?\
Pour obtenir plus de compter à partir de ce sous-requête, comme vous pouvez le voir le max() get it right 1075 mais pourquoi la date est erronée.
Pour obtenir plus de compter à partir de ce sous-requête, comme vous pouvez le voir le max() get it right 1075 mais pourquoi la date est erronée.
OriginalL'auteur Ardeus | 2012-09-20
Vous devez vous connecter pour publier un commentaire.
Vous pourriez essayer de commander le sous-ensemble de résultats de requête; quelque chose comme:
OriginalL'auteur Zaki
Vous pouvez ajouter
ORDER BY order_date DESC
dans la sous-requête.OriginalL'auteur Devart