簡體   English   中英

選擇按天分組的列值總和

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM