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

标签 mysql count left-join

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

相关文章:

mysql - 如果在 MySQL 中未达到 LIMIT,则忽略组

MySQL - 当 COUNT(*) 返回 null 时如何得到 0?

sql - PostgreSQL 从一个表中选择全部并从表关系中加入计数

php - MySQL Left JOIN Group_concat 性能问题

php - NULL 或 EMPTY 变量的问题

php - MYSQL 值错误

mysql索引和优化,使用where;使用临时的;使用文件排序

sql - 基于服务日期的 JOIN 表

sql - 加入 : How to Return default values for empty right side of left outer join

mysql - 后缀未替换 %s