2009-07-04 35 views
0

特定の日の注文を表示する方法を知りたいと思います。表示方法MySQLのある日の注文総数

例:

今日のオーダーを表示したいと思います。

私のMySQLデータベースには、次の表に含まれています受注の下

1)受注
2)orders_statuses

、私は次のフィールドがあります。
1)
2をorders_id)orders_placed_date

orders_statusesの下には、次のフィールドがあります。
1)

新しい注文が出されるたびに、それはすべて、= 3(今日は3件の受注が置かれた場合status_name =注文は、そう)

を保留している意味デフォルトSTATUS_IDを取得しstatus_name)
2をSTATUS_ID (注文は保留中です)

今、今週と今月の注文を計算するためにどのようなクエリを使用する必要がありますか?ここで

は私が私のカート内のすべての注文を選択するクエリです:

SELECT order_id, order_placed_date FROM orders 

上記のクエリの結果:
を置き

注文ID ----受注日1 --- 12/30/2008 12:06:24 AM
2 --- 2/3/2009 1:57:17 AM
3 --- 2/3/2009 1:58:27 AM
4 --- 5/3/2009 1:58:48 AM
5/6/3/2009 2:00:31 AM
6 --- 7/3/2009 2:01:47 AM
7 --- 2009/03/3 2:02:31 AM
9 --- 2009年7月4日2:21:18 PM
10 --- 7/4/2009 2:21:36 PM
11 --- 2009/04/04 2:22:私が望む何18 PM
12 --- 2009年7月4日午前2時23分29秒PM
13 --- 2009年7月4日2時24分24秒PM

は合計数を取得することです今日注文された注文の

今日の日付は2009年7月4日以来、上記の結果から7月4日に5件の注文があることがわかります。

今日のケースでは、特定の日に注文の合計数を取得するためにどのようなクエリを使用する必要がありますか?

UPDATE:

ここ

は、私が使用したものである:それは働いた


SELECT COUNT(order_placed_date) 
FROM  va_orders 
WHERE DATE(order_placed_date) = curdate(); 

解決

は、私は答えを得るために使用される両方のアダムとcolithiumのquerys素晴らしい:)

答えて

2

あなたはORDERS_ID呼ばORDERS_STATUSESで外部キーを持っていると仮定すると:

select o.orders_id 
     , o.orders_placed_date 
from orders o 
     inner join orders_statuses os 
     os.orders_id = o.orders_id 
    and 
     os.status_id = 3 
where date(o.orders_placed_date) = curdate() 
+0

order_statusesには、ordersテーブルのorders_idにリンクするforiegnキーがありません。 –

1

特定の日の注文数を取得するには:あなたがの状態でのみ注文をしたい場合は

SELECT order_id, order_placed_date FROM orders WHERE order_placed_date BETWEEN @StartDate AND @EndDate 

:今日/今週/今月からの注文を取得するには

SELECT COUNT(*) FROM orders WHERE order_placed_date = @DayYouWant 

を3状態表でJOINし、その条件をWHERE句に追加する必要があります。

+0

COUNTクエリのおかげで。 –

関連する問題