2011-01-07 20 views
2

我很難找到我的客戶在多少錢上達到某個閾值的日期。從SUM找到一個日期

customer_id | Amount | created_at 
--------------------------- 
1134  | 10 | 01.01.2010  
1134  | 15 | 02.01.2010  
1134  | 5 | 03.24.2010  
1235  | 10 | 01.03.2010  
1235  | 15 | 01.03.2010  
1235  | 30 | 01.03.2010  
1756  | 50 | 01.05.2010  
1756  | 100 | 01.25.2010  

要確定他們多麼總量搞得我像這樣運行一個簡單的查詢:

SELECT customer_id, SUM(amount) 
FROM table GROUP BY customer_id 

但我需要能夠找到例如客戶的總金額達到100美元的日期。

任何幫助,非常感謝。謝謝!

回答

0

喜歡的東西having子句

SELECT CUSTOMER_ID,SUM(數量)總FROM表GROUP BY有總計> 100

+0

嗯,我認爲只會返回在總金額超過$ 100的客戶。我需要找到確切的日期,他們達到100美元,即。如果客戶今天的總金額是150美元,那麼我需要找到他們約會100美元的日期。 – 2011-01-07 16:18:07

0

我不知道如果MySQL支持的子查詢,所以藉此與一粒鹽:

SELECT customer_id 
     , MIN(created_at) AS FirstDate 
FROM (SELECT customer_id 
        , created_at 
        , (SELECT SUM(amount) 
         FROM  [Table] t 
         WHERE  t.CustomerID = [Table].CustomerID 
           AND t.created_at <= [Table].created_at 
        ) AS RunTot 
      FROM  [Table] 
     ) x 
WHERE x.RunTot >= 100 
GROUP BY customer_id