[英]select with sum of column values grouping by day
我有一個表,其中包含列日期時間,訂單值和每個已發布訂單的件數。 Datetime是標准的datetime mysql格式。
為了獲得訂單的總和,我有一個類似這樣的查詢:
$sqlsum = "SELECT SUM(order_value) FROM orders";
if (mysqli_query($conn, $sqlsum)) {
$resultsum = mysqli_query($conn, $sqlsum);
while($row = mysqli_fetch_assoc($resultsum)) {
$total_sales = $row['SUM(order_value)'];
// and here I use the value in a simple report
}
}
為了獲得所有單筆訂單的報告,通常我會這樣:
<?php
$sql = "SELECT * FROM orders";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_assoc($result)) {
$order_time = $row["datetime"];
$order_value = $row["order_value"];
$pieces_number = $row["pieces"];
// and here I use the results in a detailed report
}
}
?>
現在,我必須制作兩個不同的報告,每天一個,每個月一個,並且每個報告都必須顯示:
-訂單數
-訂單價值之和
-件數之和
查詢應該如何獲取每天的訂單計數以及每天的價值和件數之和?
Google在該網站上搜索了類似的問題,但沒有找到滿足我需要的明確解決方案的帖子。
在第一種情況下,您需要使用DATE()
函數按天分組:
SELECT
DATE(datetime) day,
COUNT(*) orderscounter,
SUM(order_value) valuesum,
SUM(pieces) piecessum
FROM orders
GROUP BY day
在第二種情況下,您需要使用YEAR()
和MONTH()
函數按年/月分組:
SELECT
YEAR(datetime) year,
MONTH(datetime) month,
COUNT(*) orderscounter,
SUM(order_value) valuesum,
SUM(pieces) piecessum
FROM orders
GROUP BY year, month
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.