Je ne suis pas sûr que ce soit dans le cadre de MySQL pour être honnête ou si un peu de php est nécessaire ici pour analyser les données. Mais si c'est le cas ... une sorte de procédure stockée est probablement nécessaire.Est-il possible de grouper les lignes d'une journée dans un horodatage?
J'ai une table qui stocke les lignes avec un horodatage et un montant.
Ma requête est dynamique et sera basée sur une plage de dates fournie par l'utilisateur. Je voudrais récupérer le SUM() des montants pour chaque jour dans une table qui sont entre la plage de dates. y compris un 0 s'il n'y a pas d'entrées pour un jour donné
Quelque chose à l'effet de ...
SELECT
CASE
WHEN //there are entries present at a given date
THEN SUM(amount)
ELSE 0
END AS amountTotal,
//somehow select the day
FROM thisTableName T
WHERE T.timeStamp BETWEEN '$start' AND '$end'
GROUP BY //however I select the day
Voici deux parter ...
est-il un moyen sélectionner une section d'une colonne renvoyée? Comme une sorte de regex dans mysql?
Existe-t-il un moyen de renvoyer les 0 pour les dates sans lignes?
* pour le retour 0 * - peut-être une sorte de logique pour voir si la rangée précédente retournée était plus de 1 jour d'intervalle? ... je ne suis pas sûr. Cela pourrait ne pas être possible. –
C'est possible avec une jointure à gauche, un lien vers un exemple est dans la réponse ci-dessous. –