2017-03-26 1 views

Répondre

4

Cela vous donnera les premiers enregistrements de 7 jours, pour chaque user_id

SELECT orders.* FROM orders 
INNER JOIN (
    select user_id, min(created_on) as mindt from orders group by user_id 
) t 
ON orders.user_id = t.user_id AND orders.created_on <= DATE_ADD(t.mindt, INTERVAL 7 DAY) 
ORDER BY user_id, created_on 

Pour paid_amount moyenne pour chaque utilisateur, en premier 7 jours, utilisez ceci:

SELECT orders.user_id, avg(paid_amount) FROM orders 
INNER JOIN (
    select user_id, min(created_on) as mindt from orders group by user_id 
) t 
ON orders.user_id = t.user_id AND orders.created_on <= DATE_ADD(t.mindt, INTERVAL 7 DAY) 
group by orders.user_id 
+0

Merci beaucoup. C'est exactement ce que je cherchais. Je l'apprécie grandement! – aivirt