2010-08-20 3 views
1

J'ai la requête ...MySQL entre les formats de date

SELECT COUNT(order_id) as orders, 
     SUM(order_total) as sales 
    FROM uc_orders 
WHERE FROM_UNIXTIME(created) BETWEEN "2010-08-14" AND "2010-08-15" 
    AND order_status = "payment_received" 

Le problème est que ne revient pas les commandes de la période de date prévue. Je ne reçois aucune erreur SQL. Y a-t-il quelque chose à propos de BETWEEN que je fais mal?

+0

Vous devriez réindenter votre code pour être plus lisible. –

+0

Pouvez-vous s'il vous plaît coller la sortie de cette requête? SELECT FROM_UNIXTIME (créé) FROM uc_orders; –

+0

Pls mettre à jour la question avec la sortie de: 'DESC uc_orders' –

Répondre

1

Votre requête devrait fonctionner sans aucun changement et même sans ajouter d'heures/minutes/secondes. Je viens de tester cela sur MySQL 5.1.

Plus probable que vous suffit de ne pas avoir de données entre ces dates et avec ORDER_STATUS = « payment_received »

mysql> SELECT COUNT(session_id) as orders FROM phpbb_sessions 
WHERE FROM_UNIXTIME(session_time) BETWEEN "2010-08-20" AND "2010-08-21"; 
+--------+ 
| orders | 
+--------+ 
| 224 | 
+--------+ 
1 row in set (0.00 sec) 

mysql> SELECT COUNT(session_id) as orders FROM phpbb_sessions 
WHERE FROM_UNIXTIME(session_time) BETWEEN "2010-08-20 00:00:00" AND "2010-08-21 23:59:59"; 
+--------+ 
| orders | 
+--------+ 
| 224 | 
+--------+ 
1 row in set (0.00 sec) 
+1

: soupir: je me sens comme un idiot – Webnet

Questions connexes