簡體   English   中英

如何獲取一年中每個月的銷售數據

[英]How to get Sale data of every month of a year

我正在嘗試獲取特定年份每個月的銷售數據,但在為其構建查詢時遇到問題。

這是我嘗試過的

SELECT COUNT(`id`) AS `total_order`
FROM orders
WHERE date BETWEEN ? AND ?
GROUP BY `total_order`

這是我的桌子的樣子

----------------------------------------
| id | item_name | amount | time       |
| 21 | item_1    | 10     | 1506675630 |
| 22 | item_2    | 30     | 1506675630 |
| 23 | item_3    | 70     | 1506675630 |
| 24 | item_4    | 100    | 1506675630 |
----------------------------------------

現在這是我想要的查詢

1 - Total Sales amount made from the beginning of the year till today.
2 - Sales made Today
3 - Sales made in Last Month
4 - Sales Made in Last 3 month
5 - Sales Made in Last 6 Month
6 - Total Number of Sales made in every month of this particular year

例如 - 一月 - 2 月 20 日 -100 三月 - 200 等等。

我怎樣才能實現這個復雜的查詢?

    SELECT `id` AS `Order_Number`, item_name, SUM(Amount)
    FROM orders
    WHERE time >= '01/01/17'
    GROUP BY date

那會給你你的第一個結果。 試試其他的,讓我知道你得到了什么

這回答了你的第一個問題

SELECT
DATE_FORMAT(FROM_UNIXTIME(time), '%Y-%m') as interval,
COUNT(*) AS sales_made,
SUM(amount) AS sales_amount
FROM orders
WHERE
time BETWEEN UNIX_TIMESTAMP('2017-01-01') AND UNIX_TIMESTAMP('2018-01-01')
GROUP BY 1
ORDER BY 1;

這是我認為可行的方法:

對於前 5 個查詢,請嘗試這樣的操作。

SELECT SUM(amount)
    FROM orders
    WHERE DATE_FORMAT(FROM_UNIXTIME(`orders.time`), '%Y-%m-%d') BETWEEN ? AND ?

對於最后一個,您需要:

SELECT DATE_FORMAT(FROM_UNIXTIME(`orders.time`), '%Y-%m-%d') AS 'date', SUM(amount)
        FROM orders
        WHERE date between ? AND ?
        GROUP BY DATE_FORMAT(date, '%Y%m')

如果它不起作用,您可以嘗試不使用 FROM_UNIXTIME。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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