2013-11-20 6 views
-1

У меня есть таблица заказов с номером клиента и датой окончания. Я пытаюсь запустить запрос, чтобы узнать, какие клиенты не заказывали в течение 6 месяцев. Я попытался следующие:MySQL Старшие 6 месяцев в связанных таблицах

SELECT DISTINCT 
orders.Customer, 
Max(orders.DateFinished) 
FROM 
orders 
WHERE 
DATEDIFF(CURDATE(), Max(orders.DateFinished)) > 180; 
GROUP BY 
orders.Customer 

, но я получаю

[Err] 1111 - недопустимое использование функции группы

ответ

0
SELECT Customer, 
     Max(DateFinished) 
FROM orders 
GROUP BY Customer 
HAVING sum(DateFinished > CURDATE() - interval 180 day) = 0 
+0

Спасибо. Это отлично. –

0

try like this

SELECT DISTINCT orders.Customer, orders.DateFinished FROM orders 
WHERE DATEDIFF(CURDATE(), Max(orders.DateFinished)) > 180 
GROUP BY orders.Customer,orders.DateFinished 

ИЛИ

select DISTINCT orders.Customer, orders.DateFinished 
    from orders 
where orders.DateFinished >= date_sub(orders.DateFinished, interval 6 month); 
+0

Спасибо. Работает отлично –

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