【发布时间】:2018-09-02 18:17:14
【问题描述】:
我有这样的疑问:
SELECT activity.login_time, sum(activity.sessions) FROM activity
inner JOIN payments ON payments.user_id = activity.user_id
WHERE activity.login_time BETWEEN '2018-04-05' and '2018-04-18'
GROUP BY activity.login_time;
我有两个表(列:活动(user_id,会话,登录时间)和支付(列:user_id)。第二个有重复的值。 需要从“payments”中为 user_id 选择 session 而不能重复。
我的变体不会避免重复。我应该在我的查询中修正什么?
谢谢!
activity
user_id login_time sessions
101 2018-04-11 4
102 2018-04-02 1
103 2018-04-15 3
104 2018-04-06 2
104 2018-04-05 6
105 2018-04-16 1
105 2018-04-04 6
105 2018-04-01 14
106 2018-04-19 5
106 2018-04-17 3
106 2018-04-16 3
106 2018-04-15 4
106 2018-04-13 2
付款
user_id
101
103
104
106
输出
login_time sessions
2018-04-05 ?
2018-04-06 ?
2018-04-07 ?
2018-04-08 ?
2018-04-09 ?
2018-04-10 ?
2018-04-11 ?
2018-04-12 ?
2018-04-13 ?
2018-04-14 ?
2018-04-15 ?
2018-04-16 ?
2018-04-17 ?
2018-04-18 ?
【问题讨论】:
-
提供实际输出和期望输出的示例。
-
尤其是如何区分重复值。
-
@NiVeR,更新
标签: mysql sql database join select