我在这个结构中构建了一个数据库表。
ID - INT
addDate - DateTime
sunrise - Time
sunset - Time
现在我试图检索
之间的分钟差异SELECT addDate, TIMESTAMPDIFF(MINUTE, sunrise, sunset) AS duration FROM SunData WHERE date(addDate) BETWEEN curdate() - interval 7 day and curdate() ORDER BY addDate ASC
结果我在每一行中都持续为NULL。
显示这些值的代码
$date = date("Y-m-d H:i:s", strtotime(str_replace('-','/',$row->addDate)));
$duration = $row->duration / 60;
echo "Dauer: " . $duration . "Stunden\n";
为什么价值越来越少?我的查询是否正确?
答案 0 :(得分:1)
您按addDate
按升序排序。您正在考虑now()
和addDate
之间的差异。升序意味着addDate
越来越大,因此addDate
和now()
之间的差异会越来越小。
答案 1 :(得分:0)
我并不确切地知道你的目标是什么 - 但是每一条记录你都接近现在() - 这就是为什么价值越来越少的原因。
您的查询不使用日出和日落字段:
SELECT addDate, TIMESTAMPDIFF(MINUTE, DATE_ADD(addDate,sunset), DATE_ADD(addDate, sunrise))