今月と年の特定の日の注文数を表示するチャートを準備しています。毎日の注文数が欲しかった。Y 軸に注文数、X 軸に日を表示しています。私のデータベースには、注文データが配置される「注文」というテーブルがあります: 注文日、user_id、order_price など。すぐ。
今月の日付の注文数を取得するにはどうすればよいですか?
私はあなたの言いたいことが正しく理解できませんでしたが、ここにすべてのコメントから収集できる 2 つの解決策があります
特定の日付の注文だけが必要な場合は、このクエリを使用できます
select count(*)as "Order Placed" from examp where date_of_order = '2012-01-15';
DATE_FORMAT(date_of_order,'%M %Y') を「Date」として、count(*) を「Order Placed」として、date_of_order ごとに例グループから選択します。
ここで動作するのを見てください
編集:
1 か月のリストが必要な場合は、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;
Ankitが言ったことに追加するだけです..
日ごとにグループ化する場合、date_of_order にタイムスタンプが含まれていると問題が発生する可能性があります。
例: 2012-01-01 12:37:01
DATEADD を使用して時刻を午前 0 時まで切り下げると、日ごとにグループ化できます。
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)