2017-08-21 7 views
0

私は現在、と注文数量を表示しています。注文はです'テーブル。ここで私は今どこに行ってもグループに問い合わせています

SELECT COUNT(orders_id) AS order_qty, 
DATE_FORMAT(last_modified, "%a %D %b") AS day,     
SUM(order_total) AS daily_total 
FROM orders 
WHERE orders_status = 3 
GROUP BY DATE(last_modified) 
ORDER BY DATE(last_modified) DESC 
LIMIT 5 

結果の例:

  • 月21日の8月:£200.12(10回の注文)
  • 木17日の8月:£210.34(11件の受注)
  • 火曜15日の8月:£220.56(12受注)
  • 月14日の8月:£230.78(13件の受注)
  • 水曜日8月9日:£240.99(14件の受注)

これらの注文に含まれるアイテムの総数を含めるとします。このデータは私の 'orders_products'テーブルに保存されています。この表では、注文番号が元のクエリに含まれている場合、SUMに必要なproducts_quantityという列があります。

私が参加を使用する必要が理解し、私の注文テーブル= 3からorders_status場合はグループに結果を私のクエリを記述し、その後急送日付でグループする方法がわかりませんか?

誰でも正しい方向に向けることができますか?

+0

「mcve」には「create table ...」という行と「insert ...」という形の入力があります。あなたが示したすべての行の集合体を表示することを念頭に置いて、結果をどのように見せたいかを示します。私。あなたが望む出力を「模擬」します。おそらく合計を示す最後に追加の行があるかもしれません。あるいは、私は完全に誤解しているかもしれません。その場合、もっと説明してください。 – Yunnosch

答えて

0

注文テーブルに対してorder_productsテーブルを結合し、直接合計します。

これが動作することができる、私はorder_productsのフィールド名を推測しています:

SELECT COUNT(orders_id) AS order_qty, 
DATE_FORMAT(last_modified, "%a %D %b") AS day,     
SUM(order_total) AS daily_total, 
SUM(order_products.products_quantity) as total_items 
FROM orders 
LEFT OUTER JOIN order_products on order_products.orders_id=orders.orders_id 
WHERE orders_status = 3 
GROUP BY DATE(last_modified) 
ORDER BY DATE(last_modified) DESC 
LIMIT 5 

接合レコードが結合テーブルのGROUP BY句に従ってグループ化され、値はそれに応じて加算します。

関連する問題