gpt4 book ai didi

mysql - 计算满足特定条件的行的 max(date) 之前的所有内容

转载 作者:行者123 更新时间:2023-11-29 07:35:57 25 4
gpt4 key购买 nike

我正在尝试获取最后记录的损失,然后计算此后的获胜次数以计算连胜。

BEGIN
SET @maxDate:=(SELECT MAX(date) from game_scores where
user_score<opponent_score and user_id=1);

SELECT @maxDate as last_loss, COUNT(*) as streak from game_scores
WHERE user_score>opponent_score and date>@maxDate and user_id=1;

END

但我在 SET @maxDate 行不断收到语法错误。我很接近吗?

最佳答案

如果您加入上次丢失日期的查询,则可以一次性完成此操作。

另请注意,如果您已经找到了用户的最后一次失败日期,则该用户之后的任何记录都将获胜,因此您的第二个查询不需要对照对手分数来检查用户分数。

SELECT
last_recorded_loss.maxDate AS last_loss,
COUNT(*) AS streak
FROM game_scores
INNER JOIN (
SELECT MAX(date) AS maxDate
FROM game_scores
WHERE user_score < opponent_score
AND user_id = 1
) last_recorded_loss
ON game_scores.date > last_recorded_loss.maxDate AND
game_scores.user_id = 1

关于mysql - 计算满足特定条件的行的 max(date) 之前的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30825149/

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