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

看板Database作者 (rock)時間9年前 (2014/12/10 22:26), 編輯推噓0(003)
留言3則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《newbiegg (威爾)》之銘言: : 某表格如下, 紀錄顧客的每筆交易 : 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 筆平均. : 謝謝 with tb as( select row_number() over(partition by Customer order by Customer,Date desc) as row_id, * from table) select Customer,avg(Amount) as Average From tb Where row_id<11 group by Customer -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.136.224.65 ※ 文章網址: http://www.ptt.cc/bbs/Database/M.1418221615.A.F26.html

12/11 03:42, , 1F
mysql 目前不支援 window function,不過 postgre 或
12/11 03:42, 1F

12/11 03:42, , 2F
T-SQL 可以怎麼做~
12/11 03:42, 2F

12/11 03:43, , 3F
基本上跟用 variable 的複雜度是一樣的。
12/11 03:43, 3F
文章代碼(AID): #1KY5Wlyc (Database)
文章代碼(AID): #1KY5Wlyc (Database)