MySQL是一種關系型數據庫管理系統,支持多種語言和操作系統。在實際項目開發中,我們經常需要對訂單進行統計分析,如按時間統計訂單數。下面是一個簡單的實例。
CREATE TABLE orders ( id INT, order_time DATETIME ); INSERT INTO orders (id, order_time) VALUES (1, '2021-01-01 10:20:30'); INSERT INTO orders (id, order_time) VALUES (2, '2021-01-02 14:30:00'); INSERT INTO orders (id, order_time) VALUES (3, '2021-01-02 18:05:12'); INSERT INTO orders (id, order_time) VALUES (4, '2021-01-03 09:40:50'); INSERT INTO orders (id, order_time) VALUES (5, '2021-01-04 11:11:11'); INSERT INTO orders (id, order_time) VALUES (6, '2021-01-05 15:20:30'); INSERT INTO orders (id, order_time) VALUES (7, '2021-01-07 08:08:08'); INSERT INTO orders (id, order_time) VALUES (8, '2021-01-07 16:45:30');
上面的SQL語句創建了一個orders表,并插入了8條樣例數據,包括訂單ID和下單時間。接下來,我們可以按時間統計訂單數。
SELECT DATE_FORMAT(order_time, '%Y-%m-%d') AS date, COUNT(*) AS count FROM orders GROUP BY DATE_FORMAT(order_time, '%Y-%m-%d');
上面的SQL語句使用了DATE_FORMAT函數將訂單時間轉化為'年-月-日'的形式,并按照日期分組統計訂單數。執行結果如下:
+------------+-------+ | date | count | +------------+-------+ | 2021-01-01 | 1 | | 2021-01-02 | 2 | | 2021-01-03 | 1 | | 2021-01-04 | 1 | | 2021-01-05 | 1 | | 2021-01-07 | 2 | +------------+-------+
結果表明,在2021年1月期間,每天的訂單數分別為1、2、1、1、1和2單。
上一篇mysql按時間段查詢