0
Sql Table               
Sales Date  order Id    customer_id medium  
07-07-2018  WP241530914666620   26  4   
21-07-2018  WP241532133344497   26  4   
29-07-2018  WP241532821589511   26  4   
01-07-2018  1100070191  61  3   
05-07-2018  1100071337  61  3   
11-07-2018  1100073077  61  3   
15-07-2018  1100074754  61  3   
21-07-2018  1100075959  61  3   
25-07-2018  1100077484  61  3   
01-07-2018  100207654   64  3   
07-07-2018  100210077   64  3   
08-07-2018  WP241531004708220   64  4   

Result:-                
Sales Date  order Id    customer_id medium  
07-07-2018  WP241530914666620   26  4   
21-07-2018  WP241532133344497   26  4   
29-07-2018  WP241532821589511   26  4   
01-07-2018  1100070191  61  3   
05-07-2018  1100071337  61  3   
11-07-2018  1100073077  61  3   

i need mysql query for above result .

last 3 orders for each customers in above table . i am trying some codes but unable to get results for the above

Dharman
  • 30,962
  • 25
  • 85
  • 135

1 Answers1

0

You could using correlated subqueries like:

select Sales_Date,order_Id,customer_id,medium 
from
(select y1.Sales_Date,y1.order_Id,y1.customer_id,y1.medium,
(select count(*) 
from 'yourtable' y2 
where y2.customer_id=y1.customer_id 
and (y2.Sales_Date < y1.Sales_Date or y2.Sales_Date = y1.Sales_Date)
) rn 
from 'yourtable' y1
) finalresult 
where rn<=3

Reference:

correlated subqueries

Example

劉鎮瑲
  • 517
  • 9
  • 20