[SQL ] 如何選擇每人最後幾筆交易平均?

看板Database作者 (威爾)時間9年前 (2014/12/09 01:57), 編輯推噓0(009)
留言9則, 1人參與, 最新討論串1/2 (看更多)
某表格如下, 紀錄顧客的每筆交易 Customer Amount Date 1 $10 10/1/2014 2 $15 11/1/2014 1 $20 11/2/2014 3 $5 11/8/2014 : : 請問如何計算每位顧客"過去 10 筆"交易平均? 結果如下: Customer Average 1 $9.5 2 $12 3 $8 : 當然, 有些顧客可能全部只有一筆. 有些上百筆. 但只取最後 10 筆平均. 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 50.14.158.35 ※ 文章網址: http://www.ptt.cc/bbs/Database/M.1418061464.A.8D4.html

12/09 04:13, , 1F
ORDER BY + LIMIT
12/09 04:13, 1F

12/09 06:27, , 2F
sorry,沒看清楚。一個比較沒有效率的做法是
12/09 06:27, 2F

12/09 06:31, , 3F
SELECT customer, avg(amount) FROM record WHERE(
12/09 06:31, 3F

12/09 06:32, , 4F
SELECT count(*) FROM record as r WHERE
12/09 06:32, 4F

12/09 06:33, , 5F
r.customer = record.customer AND
12/09 06:33, 5F

12/09 06:33, , 6F
r.date = record.date
12/09 06:33, 6F

12/09 06:34, , 7F
) <= 2 GROUP BY customer;
12/09 06:34, 7F

12/09 07:21, , 8F
如果是 MySQL 可以參考這個 http://goo.gl/Zzgt6W
12/09 07:21, 8F

12/09 07:26, , 9F
第一個少打一個大於...http://goo.gl/dXiUs1
12/09 07:26, 9F
文章代碼(AID): #1KXUQOZK (Database)
文章代碼(AID): #1KXUQOZK (Database)