J'ai une requête mysql qui fonctionne bizarrement. Je poste les 2 requêtes avec les données d'entrée changées et les résultats sont listés sous chaque requête.Explique comment fonctionne la requête suivante?
Query 1 (zone à noter BETWEEN '13/05/11' AND '30/05/11'
):
SELECT COUNT(pos_transaction_id) AS total, DATE_FORMAT(pt.timestamp,'%d-%m-%Y %H:%i:%S') AS Date, SUM(amount) AS amount FROM pos_transactions pt WHERE DATE_FORMAT(pt.timestamp,'%e/%m/%y') BETWEEN '13/05/11' AND '30/05/11' GROUP BY WEEK(pt.timestamp) ORDER BY pt.timestamp
sortie:
Query 2 (zone à noter BETWEEN '3/05/11' AND '30/05/11'
):
SELECT COUNT(pos_transaction_id) AS total, DATE_FORMAT(pt.timestamp,'%d-%m-%Y %H:%i:%S') AS Date, SUM(amount) AS amount FROM pos_transactions pt WHERE DATE_FORMAT(pt.timestamp,'%e/%m/%y') BETWEEN '3/05/11' AND '30/05/11' GROUP BY WEEK(pt.timestamp) ORDER BY pt.timestamp
sortie:
Maintenant, lorsque la plage est augmentée dans la deuxième requête, pourquoi ne reçois-je qu'un seul enregistrement? Et même dans la première requête, je reçois des enregistrements qui sont hors de portée. Qu'est-ce qui va pas avec ça??
EDIT
La requête modifiée ressemble à ceci et encore ne pas faire ce que je voulais faire.
SELECT COUNT(pos_transaction_id) AS total, DATE_FORMAT(pt.timestamp,'%d-%m-%Y %H:%i:%S') AS Date, SUM(amount) AS amount FROM pos_transactions pt WHERE DATE_FORMAT(pt.timestamp,'%e/%m/%y') BETWEEN STR_TO_DATE('01/05/11','%e/%m/%y') AND STR_TO_DATE('30/05/11','%e/%m/%y') GROUP BY WEEK(pt.timestamp) ORDER BY pt.timestamp
La sortie est:
vérifier mon édition j'ai encore un problème avec ça .. Avez-vous besoin de quelque chose d'autre à voir ?? – Deepak