[英]mysql select each day record for the last 7 days
您如何選擇最近7天的每日記錄? 如果日期不可用,請將其設置為0。我嘗試了以下操作,但未得到任何結果。
$stmt = $db->prepare("SELECT DATE(order_date),COUNT(id) as 'total' FROM `orders` WHERE `order_date` BETWEEN DATE_SUB(CURDATE(), INTERVAL 7 DAY) AND CURDATE()GROUP BY DATE(order_date)");
$stmt->execute();
$result = $stmt->get_result();
$total = [];
while($row = $result->fetch_object()){
$total[] = $row->total;
}
print_r($total);
不是我想要的實際解決方案,但我設法通過將查詢包裝在函數中並調用7次來獲得結果。
function weeklyData($day){
$stmt = $db->prepare("SELECT order_date from orders where DATE(FROM_UNIXTIME(order_date)) = CURDATE() - INTERVAL ? DAY");
$stmt->bind_param('s', $day);
$stmt->execute();
$stmt->store_result();
return $stmt->num_rows;
}
$total = [];
for($x = 1; $x <= 7; $x++){
$total[] = weeklyData($x);
}
print_r($total);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.