我的 codeigniter 应用程序中有以下功能
function set_day_peak($days, $offset, $network_id){
$days = $days + $offset;
$query = $this->db->query("SELECT MAX(total_online)AS total FROM network_traffic
WHERE network_id = '$network_id' AND timestamp >= NOW() - INTERVAL $days DAY
AND timestamp <= NOW() - INTERVAL $offset DAY");
$data = $query->row();
return $data->total;
}
上面的函数确实返回一个值,但它不准确,我调用时需要什么
$this->set_day_peak(1,7,14)
是让它在第 1 天从 00:01 到 23:59 返回 max(total_online),偏移 7 天或(8 天前)。
由于我对 sql 并不出色,但我可以管理的唯一解决方案是使用 php 来设置时间戳,即($day_start and $day_end)
然后使用SELECT MAX BETWEEN
,但我想看看它是否可以用纯 SQL 完成。任何想法将不胜感激。