gpt4 book ai didi

mysql - 您如何根据 MIN 日期对值求和?

转载 作者:太空宇宙 更新时间:2023-11-03 11:27:38 25 4
gpt4 key购买 nike

正在为学校做一个练习,试图计算一名篮球运动员仅在第一场比赛中得分。

因此,如果我有一个报告大量比赛的表格(第一半和第二半的单独行),如下所示:

Game Date   Player  Half    Points
1990-01-01 Mike 1 10
1990-01-01 Mike 2 10
1990-01-03 Mike 1 5
1990-01-03 Ben 2 8
1990-01-05 Kelly 1 4
1990-01-05 Kelly 2 4
1990-01-07 Kelly 1 10

我希望它像这样结束:

Game Date   Player  Points
1990-01-01 Mike 20
1990-01-03 Ben 8
1990-01-05 Kelly 8

我该怎么做?

我一直在尝试使用代码:

SELECT min(game_Date), player, sum(points);

但是它一直计算所有比赛的分数,而不仅仅是第一场比赛的分数,其中上半场可以有一个记录,下半场可以有一个记录。

最佳答案

首先你需要找到玩家的第一场比赛,像这样

 select player, min(game_date) as firstGameDate
from yourtable
group by player

然后再次加入牌 table 获得那场比赛的积分

 select yourtable.player, firstgame.firstGameDate, sum(points) as firstGamePoints
from yourtable
inner join
(
select player, min(game_date) as firstGameDate
from yourtable
group by player
) firstgame
on yourtable.player = firstgame.player
and yourtable.game_date = firstgame.firstgameDate
group by yourtable.player, firstgame.firstgameDate

某些类型的 SQL 允许您使用排名函数,这可以消除连接到表本身的需要,但这适用于所有类型。

关于mysql - 您如何根据 MIN 日期对值求和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53016590/

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