Mysql SQL:查找每个跑步者的平均跑步间隔天数

Mysql SQL:查找每个跑步者的平均跑步间隔天数,mysql,sql,Mysql,Sql,因此,如果我们给出下表: 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等待了

因此,如果我们给出下表:

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。但是,我如何在没有任何子查询的情况下组合所有这些呢?

索林,公平地说,您已经得到了答案-
(max-min)/(count-1)
确实是正确的,而不必详细说明运行之间的距离

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

注意:MySQL将把
X/0
(对于一个跑步者只有一条记录的情况)转换为NULL,因为它是0不可分割的。

您不需要任何子查询是有原因的吗?谢谢您快速而出色的回复。我已更正。这似乎是正确的,而且可能是最快的解决方案。