我有两个具有以下模式的表Users
和Inputs
Users - id, name, create_time
Inputs - id, user_id, create_time, amount
我创建了2个类似的查询,从两个表中选择联接数据。
第一个查询返回所有用户,并添加一个名为daily_amount
的字段,该字段求和给定时间范围内每个用户的所有Inputs
-工作正常
第二个查询-添加用户ID过滤器
我想通过ID(给定查询中的id = 12)将查询限制为特定的用户,结果不一致,我得到一条记录,但是它有一个不同的Id
和{{ 1}}不正确。
感谢您的帮助。
daily_amount
答案 0 :(得分:1)
您必须将条件放在WHERE子句中
SELECT Users.id,
Users.name,
Users.create_time,
SUM(Inputs.amount) AS daily_amount
FROM Users
LEFT JOIN Inputs ON Users.id = Inputs.user_id
WHERE Users.id = 12
AND Inputs.create_time BETWEEN startTime AND endTime
GROUP BY Users.id, Users.name, Users.create_time