以下 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/