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)
你需要一个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)