[英]Mysql select query count & Distinct are not working properly
我正在使用 Laravel 8 開發一個電子商務網站。我編寫以下腳本來找出單個訂單號下的總價格和總數量。 從以下腳本獲取錯誤,問題出在哪里,請幫助我。
*首先我寫行 mysql 然后我將轉換 laravel 查詢生成器。
SELECT COUNT (total_price) as totaPrice, COUNT (productqty) as proQnty
FROM (SELECT DISTINCT order_id FROM orderDetails)
LEFT JOIN ordertbl
ON ordertbl.id = orderDetails.order_id;
在您的原始中缺少子查詢的表名 alis ..您的原始查詢應該是
SELECT COUNT(total_price) as totaPrice, COUNT(productqty) as proQnty
FROM (
SELECT DISTINCT order_id FROM orderDetails
) T
LEFT JOIN ordertbl ON ordertbl.id = T.order_id;
我猜你想對價格和數量求和,所以使用SUM()
聚合 function。
此外,您應該將orderDetails
LEFT
連接到ordertbl
,而不是相反:
SELECT ot.id,
SUM(od.total_price) AS totaPrice,
SUM(od.productqty) AS proQnty
FROM ordertbl ot LEFT JOIN orderDetails od
ON ot.id = od.order_id
WHERE ot.id = ?
GROUP BY ot.id;
或者,沒有連接:
SELECT SUM(total_price) AS totaPrice,
SUM(productqty) AS proQnty
FROM orderDetails
WHERE order_id = ?;
更換?
帶有您想要的訂單的id
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.