以下 mySQL 查询返回一个行结构,该结构提供来自 Tickets 表的所有行以及来自 Sales 表的任何匹配信息。

SELECT tickets.*, sales.ID AS tcount
FROM tickets LEFT JOIN sales ON tickets.ID = sales.ticket_ID

然而,我们想要做的就是从右表中为每张票计算现有行的数量,以便跟踪库存。

我认为这样做可以,但尽管它正确计算了门票数量,但它只从门票表中返回一行并计算列 tcount 中的所有销售额。
SELECT tickets.*,
COUNT(sales.ID) AS tcount
FROM tickets LEFT JOIN sales ON tickets.ID = sales.ticket_ID

最佳答案

你需要一个 group by :

SELECT tickets.*, COUNT(sales.ID) AS tcount
FROM tickets LEFT JOIN
     sales
     ON tickets.ID = sales.ticket_ID
GROUP BY tickets.ID;

关于mySQL LEFT JOIN 和 COUNT 右 watch 中出现的次数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34066611/

10-13 05:46