【发布时间】:2021-03-16 07:57:53
【问题描述】:
我有两张表,一张用于存储用户状态,另一张用于存储日志。
“状态”表
id , customerId, userName, serviceId, status
“日志”表
id, customerId, logDate, status
我需要为每个客户获取特定日期间隔(从 2020 年 10 月 1 日到 2020 年 11 月 31 日)和特定状态(状态 = 6)的最新日志。所有客户日志都存储在“日志”表中。
这是我尝试过的,但没有运气:
Select distinct (a.customerId), a.userName, a.serviceId, a.status, max(logDate)
FROM status a
JOIN logs b
WHERE logDate BETWEEN '2020-10-01' AND '2020-11-31' and a.customerId = b.customerId and a.status = 6 group by b.logDate
任何帮助将不胜感激。
【问题讨论】:
-
(1) 标记您正在使用的数据库。 (2) 样本数据和预期结果会有所帮助。 (3)
DISTINCT不是一个函数。括号没有保证。特别感兴趣的是customerId是否在status表中重复。
标签: sql sum inner-join aggregate-functions