簡體   English   中英

Mysql select 查詢計數和 Distinct 無法正常工作

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM