我有两个表,transactions和Listings。
交易列出了我每天发生的所有交易。我在交易中有一个列,列出了每个交易项目的价格。每天都会发生几笔交易。我想取每天所有交易的中位数或平均值,并在列表中使用此信息填充一个新列。
所以我的最终结果将在列表中有一个名为 daily_price_average 的列,它从transactions中获取单个交易信息的平均价格。
关于如何做到这一点的任何想法?
或者我怎么能使用视图来做到这一点?
我有两个表,transactions和Listings。
交易列出了我每天发生的所有交易。我在交易中有一个列,列出了每个交易项目的价格。每天都会发生几笔交易。我想取每天所有交易的中位数或平均值,并在列表中使用此信息填充一个新列。
所以我的最终结果将在列表中有一个名为 daily_price_average 的列,它从transactions中获取单个交易信息的平均价格。
关于如何做到这一点的任何想法?
或者我怎么能使用视图来做到这一点?
您可以在视图中执行此操作:
create v_listings as
select l.*,
(select avg(price)
from transactions t
where date(t.transactiondate) = l.date
) as daily_price_average
from listings l;
要进行更新,您首先要确定daily_price_average
列表中有一个列:
update listings join
(select date(t.transactiondate) as tdate, avg(price) as avgprice
from transactions
group by date(t.transactiondate)
) td
on listings.date = td.tdate
set daily_price_average = td.avgprice;
这两个都假设listings
有一列要求date
平均值。