【发布时间】:2019-02-08 13:01:42
【问题描述】:
谁能帮我计算每个日期的中值?
activity
user_id login_time bet
105 2018-04-01 20966119
102 2018-04-01 2027700
105 2018-04-01 5478000
104 2018-04-01 78448383
104 2018-04-06 49730093
101 2018-04-06 2750000
103 2018-04-15 16625000
105 2018-04-16
106 2018-04-19 3095584
输出
login_time median
2018-04-01 13222060
2018-04-06 26240047
我的查询
SELECT login_time, IF(SUM((IFNULL(bet, 0)) / 2) % 2 = 0, SUM(IFNULL(bet, 0))
/ 2 + 1, SUM(IFNULL(bet, 0)) / 2)
AS median
FROM activity
WHERE login_time BETWEEN '2018-04-01' AND '2018-04-06'
GROUP BY login_time;
怎么了? 谢谢!
【问题讨论】:
-
你的预期输出是什么
-
@fa06 ,我更新了
-
您确定要中位数吗?你能解释一下你目前尝试的逻辑吗?
-
@Gordon Linoff,是的,我需要中值。可能是我的查询是错误的。但是需要帮助
-
@Raymond Nijland,我在 Excel 中得到了这个结果。我应该改变什么以获得正确的结果?
标签: mysql sql database join select