MySQL Résultats du Groupe par jour à l'aide d'horodatage
J'ai besoin de prendre la requête ci-dessous et tirez sur le total de la commande compte et la somme des ordres groupés par jour. Je stocke tout en utilisant des horodatages.
SELECT
COUNT(id) as order_count,
SUM(price + shipping_price) as order_sum,
DAY(FROM_UNIXTIME(created)) as day
FROM `order`
WHERE '.implode(' AND ', $where).'
J'ai besoin de groupe par JOUR, mais quand je le fais pour ce week-end passé, les ventes, il prend mon order_count et rend 1 au lieu de 3. Comment puis-je tirer les valeurs ci-dessus sont regroupés par jour?
REMARQUE: La imploser est UNIQUEMENT utilisé pour définir la période de temps (OÙ créé >= TIMESTAMP ET <= TIMESTAMP)
Mise à jour
Sans GROUPE PAR day
Array (
[order_count] => 3
[order_sum] => 69.70
[day] => 17
)
Avec le GROUPE PAR day
Array (
[order_count] => 1
[order_sum] => 24.90
[day] => 17
)
J'ai besoin de cette requête à revenir chaque jour qui avait de vente, combien de commandes, et la somme de ces ventes. Je suis en manque un morceau du puzzle ici quelque part....
- Je crois que vous devrez fournir certaines données, il semble tout à fait normal que GROUPE EN serait de retour plus de lignes et que agrégée fonctions sera réduit proportionnellement. Merci donc de fournir quelque chose le long des lignes de l'échantillon de données d'entrée, de sortie d'un échantillon de données, les résultats attendus.
Vous devez vous connecter pour publier un commentaire.
Êtes-vous juste oublier d'ajouter
GROUP BY ...
à la fin?REMARQUE:
Vous ne pouvez pas utiliser
as day
pour votre journée de la colonne, carday
est une fonction MySQL. Utilisez quelque chose commeorder_day
.De Licornes
Par @OMG Licorne commentaire, vous pouvez utiliser:
Aussi longtemps que l'envelopper
day
dans ` backticks.DATE(FROM_UNIXTIME(created))
Vous pouvez aussi tout simplement utiliser:
ou même
GROUPE PAR SUBSTR( timestamp, 1, 10 )
SUBSTR( timestamp, 1, 10 )
a fonctionné pour moi.Vous êtes probablement en cours d'exécution dans un conflit de noms entre
DAY()
(la fonction MySQL) etday
(votre nom de variable). Avez-vous essayé d'utiliser quelque chose que l'habitude des conflits tels queorder_day
?