因此,我正在开发一个豹纹壁虎繁殖系统,需要确定产卵之间的平均周数,以便粗略估计下一批卵的产卵时间。这是我用来选择壁虎 ID 的所有条目的 sql
SELECT *
FROM clutches
WHERE clutch_breeding_pair = 2 ORDER BY clutch_laid_date DESC
编辑 - 这是我的 SQL 查询
$stmt = $dbh->query("SELECT * FROM clutches WHERE clutch_breeding_pair = '$breedingPairID' ORDER BY clutch_laid_date DESC");
$stmt->setFetchMode(PDO::FETCH_ASSOC);
$row_count = $stmt->rowCount();
$row = $stmt->fetch();
这里是我的 sql 表和联机查询的链接 - http://sqlfiddle.com/#!2/fb1c1e/4
我对 sql datediff 等不是很熟悉,所以不知道最佳实践是什么。抱歉,如果这个问题不够深入,我真的不知道要搜索什么以查看以前是否有过类似的问题。
如有任何帮助,我们将不胜感激!
最佳答案
这将平均每个 clutch_pair 组中每个 clutch_laid_date 之间的周数:
SELECT c.clutch_breeding_pair,
ifnull(AVG(datediff(c.next_clutch_laid_date,c.clutch_laid_date)/7),0) average_weeks
FROM (
SELECT c1.clutch_breeding_pair,
c1.clutch_laid_date,
min(c2.clutch_laid_date) next_clutch_laid_date
FROM clutches c1
left join clutches c2
on c2.clutch_laid_date > c1.clutch_laid_date
and c2.clutch_breeding_pair = c1.clutch_breeding_pair
WHERE c1.clutch_breeding_pair = 2
GROUP BY
c1.clutch_breeding_pair,
c1.clutch_laid_date
) c
GROUP BY
c.clutch_breeding_pair
关于php - 使用 PHP 计算 MySQL 中多个日期条目之间的周数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23022138/