gpt4 book ai didi

mysql - SQL:查找每个运行者运行之间的平均天数

转载 作者:行者123 更新时间:2023-11-29 01:33:09 26 4
gpt4 key购买 nike

所以如果我们有下表:

runner  ran
Carol 2011-02-01
Alice 2011-02-01
Bob 2011-02-01
Carol 2011-02-02
Bob 2011-02-02
Bob 2011-02-03
Bob 2011-02-04
Carol 2011-02-07
Alice 2011-02-08

我如何编写一个查询(没有任何子查询)来找出每个运行者在运行之间必须等待的平均天数(即,Carol 等了 1 天,然后等了 5 天,所以平均值是 3;Bob 每天运行;Alice 等待7 天)?

我正在考虑在表本身上进行连接,然后找到每个运行者的最大值和最小值,减去它们并除以运行次数 - 1。但是我如何在没有任何子查询的情况下组合所有这些?

最佳答案

Sorin,公平地说,您已经有了答案 - (max-min)/(count-1) 确实是正确的,而无需详细说明运行间隔多远。

select runner, datediff(max(ran),min(ran)) / (count(ran)-1)
from running
group by runner;

注意:MySQL 会将 X/0(对于运行者只有一条记录的地方)变为 NULL,因为它不能被 0 整除。

关于mysql - SQL:查找每个运行者运行之间的平均天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5237141/

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