Вывод MAX(ID) за определенную дату

Добры день!

есть три таблички orders, states, action_order_states, необходимо показать сколько заказов было в определеном статусе в определенную дату.

создал следующий запрос:

SELECT
date(orders.order_date),
orders.shop_id,
orders.order_id,
action_journal_order_state.reference_id,
order_states.caption,
orders.order_state,
action_journal_order_state.action_value,
date(action_journal_order_state.entry_timestamp)
FROM
imm.orders
inner join imm.action_journal_order_state on (reference_id = orders.order_id),
dictionaries.order_states
WHERE
order_states.id = action_journal_order_state.action_value
and orders.order_date >= '2016-02-02 22:59';

в результате столкнулся с проблемой, что некоторые заказы прыгали между статусами несколько раз в день, отсюда сделал вывод что нужен MAX(ID), в итоге получил просто дату последнего статуса, тоже не совсем то что нужно. поэтому возникла идея вытаскивать MAX(ID) для заказа в разрезе дня. Вопрос возможен ли такой фокус и как его осуществить? можно получить подсказку или примеры? Спасибо!

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

сколько заказов было в

сколько заказов было в определеном статусе в определенную дату

SELECT date(orders.order_date),
           order_states.caption,
           COUNT(*)
..........................................
GROUP BY date(orders.order_date), order_states.caption

пробовал подобный запрос,

пробовал подобный запрос, проблема в том что заказ №0001 в течении дня(к примеру 30.03.2016) переходил из статуса 1 в статус 2 далее в статус 3 и при определенных обстоятельствах был возвращен в статус 1(замечу что все это происходило с заказов в разрезе суток) и как результат имеем следующие данные при одном заказе:

дата-------|-----статус---|---кол-во заказов
________________________________
30.03.2016--|---1-------|---------2
----------------|---2-------|---------1
----------------|---3-------|---------1

итого, складывается впечатление, что было 4 заказа, но заказ 1......вот поэтому и хочу понять как получить MAX(ID) записи в разрезе дня(получить последний статус на 30.03.2016), в этом случае данные должны получиться следующие:

дата-------|-----статус---|---кол-во заказов
________________________________
30.03.2016--|---1-------|---------1
----------------|---2-------|---------0
----------------|---3-------|---------0
от сюда видно что заказ 1 и он наконец дня находился в статусе 1. если была похожая практика, прошу подсказать как провернуть такой запрос. Спасибо!

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Back to top

(С) Виктор Вислобоков, 2008-2023