gpt4 book ai didi

mysql - 查询以获取自上次登录以来的所有用户事件

转载 作者:行者123 更新时间:2023-11-28 23:30:40 25 4
gpt4 key购买 nike

我想创建一个查询以获取所有用户、他们的上次登录日期以及自上次登录以来他们回答了多少问题。

我有以下查询可以执行我正在寻找的操作,但针对的是单个用户而不是所有用户。

SELECT l.user_id, 
Count(*) attemptsSinceLastLogin
FROM production.score s
JOIN processedquestion pq
ON s.attempt_id = pq.attempt_id
JOIN login l
ON l.user_id = pq.user_id
WHERE l.user_id = 123
AND s.selected_answer IS NOT NULL
AND pq.attempt_datetime > (SELECT Max(in_datetime)
FROM production.login
WHERE user_id = 123);

我也有这个查询,它获取所有用户及其上次登录日期,但没有他们回答了多少问题。

SELECT user_id, 
Max(in_datetime)
FROM production.login
GROUP BY user_id

我在使用这两个查询尝试提出一个可以一次性带回我正在寻找的数据的查询时遇到了问题。任何帮助表示赞赏

最佳答案

试试这个:

SELECT l.user_id, 
Count(*) attemptsSinceLastLogin
FROM production.score s
JOIN processedquestion pq
ON s.attempt_id = pq.attempt_id
JOIN login l
ON l.user_id = pq.user_id
JOIN (SELECT user_id,
Max(in_datetime) AS last_login
FROM production.login
GROUP BY user_id) t
ON l.user_id = t.user_id
WHERE s.selected_answer IS NOT NULL
AND pq.attempt_datetime > t.last_login
GROUP BY l.user_id

关于mysql - 查询以获取自上次登录以来的所有用户事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37412416/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com