Re: [SQL ] 如何选择每人最后几笔交易平均?

楼主: rockchangnew (rock)   2014-12-10 22:26:52
※ 引述《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
作者: carylorrk (carylorrk)   2014-12-11 03:42:00
mysql 目前不支援 window function,不过 postgre 或T-SQL 可以怎么做~基本上跟用 variable 的复杂度是一样的。

Links booklink

Contact Us: admin [ a t ] ucptt.com