2013-10-15 4 views
0

Я пытаюсь выбрать последний заказ всех приобретенных клиентов, реальная цель - добавить определенный диапазон, например последние 3 месяца, и рассмотреть последний заказ от любого клиента на последних 3 месяцев, но без каких-либо заказов раньше, чем те 3 месяца, до сих пор у меня есть это:Запрос Mysql, выберите последний заказ

SELECT zen_orders.orders_id, zen_customers.customers_id, 
    zen_orders.date_purchased, zen_orders.orders_status 
FROM zen_orders 
INNER JOIN zen_customers 
ON zen_orders.customers_id = zen_customers.customers_id 
    AND zen_orders.orders_status = '3' 
ORDER BY zen_customers.customers_id 

Я новичок в MySQL, это право теперь возвращает мне все заказы от всех клиентов, когда клиент, как более в одном порядке он повторяет несколько строк с другим идентификатором заказа, но с тем же идентификатором клиента, но теперь, как я могу изолировать только последний заказ от всех клиентов с заказами, чтобы я мог поместить его в диапазон?

ответ

0
select o.orders_id,o.customers_id, 
    o.date_purchased, o.orders_status from 
(
    select max(o.orders_id) maxOrder,o.customer_id 
    FROM zen_orders o 
    where o.orders_status = '3' 
    group by o.customers_id 
) t 
inner join zen_orders o on o.orders_id = t.maxOrder 
+0

Привет, это является передовым для меня, я не понимаю, как сделать необходимые изменения в этом проекте, так что я могу выполнить запрос: \ – Joricam

+0

Вы знаете группу по статье? – Jonysuise

+0

очень мало, но я понимаю, что вы там делали, я сейчас изучаю примеры группы – Joricam

0

Показать информацию о клиентах и ​​информацию о заказе более 30 дней и не более 60 дней.

SELECT C.customers_id, C.customers_firstname, C.customers_lastname, 
    O.date_purchased, O.orders_id, O.order_total, OS.orders_status_name 
     FROM orders O 
     LEFT join customers C on C.customers_id = O.customers_id 
     LEFT join orders_status OS on OS.orders_status_id=O.orders_status 
     WHERE 
      O.date_purchased BETWEEN DATE_SUB(NOW(), INTERVAL 2 MONTH) AND DATE_SUB(NOW(), INTERVAL 1 MONTH) 
GROUP BY C.customers_id 
Смежные вопросы