-3

今月と年の特定の日の注文数を表示するチャートを準備しています。毎日の注文数が欲しかった。Y 軸に注文数、X 軸に日を表示しています。私のデータベースには、注文データが配置される「注文」というテーブルがあります: 注文日、user_id、order_price など。すぐ。

今月の日付の注文数を取得するにはどうすればよいですか?

4

2 に答える 2

3

私はあなたの言いたいことが正しく理解できませんでしたが、ここにすべてのコメントから収集できる 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 ごとに例グループから選択します。

ここで動作するのを見てください

SqlFiddle

編集:

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;
于 2012-07-04T09:06:40.037 に答える
0

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)
于 2012-07-04T09:17:56.193 に答える