mySQL LEFT JOIN 和 COUNT 右手表中出现的次数

Rob*_*ght 5 mysql count left-join

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

SELECT tickets.*, sales.ID AS tcount 
FROM tickets LEFT JOIN sales ON tickets.ID = sales.ticket_ID
Run Code Online (Sandbox Code Playgroud)

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

我认为这样可以做到这一点,但尽管它正确地计算了门票数量,但它只从门票表中返回一行,并计算 tcount 列中的所有销售。

SELECT tickets.*, 
COUNT(sales.ID) AS tcount 
FROM tickets LEFT JOIN sales ON tickets.ID = sales.ticket_ID
Run Code Online (Sandbox Code Playgroud)

Gor*_*off 7

你需要一个group by

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