2010-08-20 4 views
1

У меня есть запрос ...MySQL между форматами даты

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" 

Проблема заключается в том, что не возвращаются заказы из предоставленного периода дат. Я не получаю SQL-ошибок. Есть что-то о МЕЖДУ, что я делаю неправильно?

+0

Вы должны повторно отступы ваш код более читаемым. –

+0

Не могли бы вы вставить выходные данные этого запроса? SELECT FROM_UNIXTIME (created) FROM uc_orders; –

+0

Pls обновляет вопрос с помощью результата: 'DESC uc_orders' –

ответ

1

Ваш запрос должен работать без каких-либо изменений и даже без добавления часов/минут/секунд. Я просто проверил это на MySQL 5.1.

Более вероятно, что вы просто не имеют каких-либо данных между этими датами и с 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

: вздох: я чувствую себя идиотом – Webnet

Смежные вопросы