【发布时间】:2020-09-28 19:39:12
【问题描述】:
我已经创建了一个基本数据库(附图片)Database,我正在尝试查找以下内容:
“每个日历月每位用户花费的总金额中位数”
我尝试了以下方法,但出现错误:
SELECT
user_id,
AVG(total_per_user)
FROM (SELECT user_id,
ROW_NUMBER() over (ORDER BY total_per_user DESC) AS desc_total,
ROW_NUMBER() over (ORDER BY total_per_user ASC) AS asc_total
FROM (SELECT EXTRACT(MONTH FROM created_at) AS calendar_month,
user_id,
SUM(amount) AS total_per_user
FROM transactions
GROUP BY calendar_month, user_id) AS total_amount
ORDER BY user_id) AS a
WHERE asc_total IN (desc_total, desc_total+1, desc_total-1)
GROUP BY user_id
;
【问题讨论】:
-
什么错误?如果您不告诉我们问题,我们将无法帮助您。
标签: sql postgresql date group-by median