我有兩個表oc_order o
和oc_order_total ot
MYSQL子查詢和包含的值
oc_order o
的行數數有場o.customer_id, o.date_added, o.email,o.total
而且oc_order_total ot
有場ot.code
和ot.value
我想只有當展示成果客戶訂單超過3次,即如果customer_id
重複三次或更多的結果並顯示ot.value where ot.code = 'shipping'
我嘗試做以下
SELECT COUNT(o.customer_id) AS 'Orders Count', o.date_added, o.email,o.total, ot.value
FROM oc_order o
Inner join oc_order_total ot ON ot.order_id = o.order_id
WHERE count(o.customer_id) > 3 AND ot.value = (select value from oc_order_total where code = 'shipping')
GROUP BY o.customer_id
我越來越無效使用組錯誤的,我覺得我不是在WHERE子句中使用正確的子查詢。
我沒有做羣組,因爲它會將它們組合在一起,並將數量和價值彙總在一起。我想顯示所有的值。有沒有可能將它分組在一起? –
您需要'GROUP BY'來使用COUNT,否則無論您的意圖如何,默認情況下它都會將其減少爲一行分組。然而,你可以使用另一個'SELECT'技巧和包裝查詢來首先獲得o.order_id,並且在你過濾了'JOIN'其他必要的列後,它們將不會受到'GROUP BY'的影響。編輯回答導致評論限制太短,無法舉例。 – StormoPL