2012-07-04 41 views
-2

我正在準備一個圖表,顯示當前月份和年份中特定日期的訂單數量。我想要每天下的訂單數。 我正在顯示y軸上的訂單數和x軸上的日期。 在我的數據庫中,有一個名爲「訂單」的表格,其中放置了訂單數據:訂單日期,用戶標識,訂單價格等。例如,如果7月4日訂購了10個訂單,則7月5日放置20個訂單,等等。如何獲得從我的數據庫中下的訂單數?

我該如何獲得本月當天下單的數量?

+0

MySql的?甲骨文?列的名稱是什麼?你試圖運行什麼查詢? – alfasin

+0

試着把它分解成更小的問題,然後研究每個問題,然後如果你卡在任何部分回來了。我們不能爲你做! – Liam

+0

我使用MySQL與PHP和列的名稱是user_id,折扣,service_tax,coupon_discount,總計,date_Of_order。並需要總和建議如何獲得個人訂單的數量 – user1360564

回答

3

我沒有得到你的意思正確,但這裏有什麼我可以從所有的意見收集兩種解決方案

  • 你需要計算放置在特定的一天的訂單數

如果你只想在特定日期的順序,你可以使用此查詢

select count(*)as "Order Placed" from examp where date_of_order = '2012-01-15'; 
  • 你從examp組需要的順序列表放置(日期明智)

選擇DATE_FORMAT(date_of_order, '%M%Y')爲 「日期」,COUNT(*)作爲 「放置 令」通過date_of_order;

看到它在這裏工作

SqlFiddle

編輯:

現在如果你想單月列表,只需使用一個where子句。

select DATE_FORMAT(date_of_order,'%M %Y') as "DATE",count(*) as "Order Placed" 
from examp 
where month(date_of_order) = '2' group by date_of_order; 
0

只是添加到什麼ANKIT說..

當一天分組,如果你的date_of_order包括時間戳,你可能有一個問題:

例如2012-01-01 12:37:01

如果它確實使用DATEADD將時間縮短到半夜,以便您可以按天分組。

DATEADD(DAY, DATEDIFF(DAY, 0, [date_of_order]),0) 

然後,它看起來像:

2012-01-01 00:00:00

所以,你的代碼應該是這樣的:

SELECT 
    date_of_order, 
    COUNT(date_of_order) 
    FROM examp 
    GROUP BY DATEADD(DAY, DATEDIFF(DAY, 0, [date_of_order]),0) 
+0

非常好的一點......但DATEADD不被Mysql支持(我猜),但是它可以與SQLServer一起使用。 –

+0

啊,謝謝你讓我知道Ankit!非常感激。 – TJH

+0

作爲DATEADD是sqlserver的功能,並支持在MySQL比什麼是替代的MySQL – user1360564