【发布时间】:2022-06-10 17:39:41
【问题描述】:
我有两张表,一张是 oxygen_points_earns,另一张是 users 我正在尝试这样划分:weekly total oxygen points / user registered weekly count
所以首先我需要每周从 users 表中获取用户计数,然后我应该从oxygen_point_earns 中获取每周的氧气点总和。
我的用户表
user_name - created_at
john doe 2022-05-05
... ...
我的氧气点赚表
user_name - point - created_at
john doe 20 2022-05-05
... ... ....
假设我们在每个表中有 100 行。最后我尝试了下面的 SQL 查询但没有奏效。所以我需要你的帮助。提前谢谢..
SELECT str_to_date(concat(yearweek(a.created_at), ' Sunday'), '%X%V %W') as week,
sum(a.oxygen_point) as 'op_point',
str_to_date(concat(yearweek(b.created_at), ' Sunday'), '%X%V %W') as week ,
sum(count(*)) over (order by min(b.created_at)) as 'user_count',
round( ( (a.op_point / b.user_count ), 2) ) AS kpi
FROM oxygen_point_earns a, users b
上面的sql查询报错;
Error Code: 1054. Unknown column 'a.op_point' in 'field list'
我的目标是将这两个值分开并显示出来;
year - week - result
2022 2022-01-01 40.2
2022 2022-01-07 24.5
自 1 周以来,我一直在尝试解决此问题,但尚未找到任何解决方案。所以我想在那里发布我的问题。提前谢谢..
【问题讨论】:
-
你能在一些在线 db fiddle 中添加一些示例数据吗?
-
是的,当然请看一下; db-fiddle.com/f/mQ8dJuKkc9MKteaVHbFJev/0