[英]Need MySQL query that gets orders from main table, then a count of individual items associated with it as well as total rows from another table
我確實需要一個MySQL查詢,該查詢從主表獲取訂單,然后從中獲取與之關聯的單個項目以及從另一個表獲取的總行數。
所以我有以下結構:
db.Orders
id | order_number | date_worked
1 | 1234 | 2014-09-17
2 | 1235 | 2014-09-17
3 | 1236 | 2014-09-17
4 | 1237 | 2014-09-17
db.OrdersItems
id | order_number_id | item_id
1 | 1234 | widget1
2 | 1234 | widget1
3 | 1234 | widget2
4 | 1234 | widget2
5 | 1234 | widget2
6 | 1235 | widget4
7 | 1235 | widget4
8 | 1236 | widget4
9 | 1236 | widget1
10| 1237 | widget1
一個訂單可以有多個SKU,每個訂單每個SKU可以有多行。 因此,我正在尋找但無法弄清楚的是如何獲得以下信息:
order_number | 來自db.OrdersItems中的order_number_id的單個skus的計數| order_number_id的總行數
恩。
1234 | 2 skus | 5 lines
1235 | 1 skus | 2 lines
1236 | 2 skus | 2 lines
1237 | 1 skus | 1 lines
我相信您會( SQL Fiddle ):
SELECT o.order_number, COUNT(DISTINCT i.item_id) AS SkuCnt, COUNT(*) AS LineCnt
FROM Orders o
INNER JOIN OrdersItems i ON o.order_number = i.order_number_id
GROUP BY o.order_number
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.