2010-03-05 2 views
0

J'ai une table de transaction et je cherche à générer un ensemble de données pour générer un graphique linéaire montrant la somme de toutes les ventes chaque jour pendant une période donnée. Je n'ai jamais groupé des résultats comme ça avant et je me gratte la tête. Supposons que la table soit appelée "transactions", que le champ "datetime" soit appelé "timestamp" et que le montant des ventes de chaque transaction soit "txn_amount". Je veux que le jeu de résultats inclue chaque jour: "1/2/10" et la somme des montants de la transaction.Besoin d'une requête mysql pour ajouter des valeurs pour chaque jour dans une série chronologique ... Besoin d'aide

J'ai besoin d'obtenir un livre et de passer une semaine à apprendre mysql ... Merci de m'avoir aidé.

Répondre

0
select sum(txn_amount) ,timestamp from transactions where timestamp in (select distinct timestamp from transactions) group by timestamp 

si type_données datetime, utilisez cette

select sum(amt) ,substring(dt,1,10) from transactions where substring(dt,1,10) in (select distinct substring(dt,1,10) from transactions) group by substring(dt,1,10) 
+0

Merci! Comme j'utilise un horodatage, la partie "horodatage distinct" renvoie toutes les transactions sauf si elles sont identiques à la seconde, n'est-ce pas? Une idée de comment je devrais aborder cela? – user77413

+0

Utilisez ceci: sélectionnez somme (amt), sous-chaîne (dt, 1,10) à partir des transactions où sous-chaîne (dt, 1,10) dans (sélectionnez la sous-chaîne (dt, 1,10) des transactions) groupe par sous-chaîne (dt, 1,10) – Rakes

Questions connexes