Mysql 迭代计数
我有一个人员表,其中包含每个人的唯一ID。另一个表还包含他们的唯一ID和他们在某个商店的购买数量。我如何计算他们购买的数量Mysql 迭代计数,mysql,sql,join,group-by,Mysql,Sql,Join,Group By,我有一个人员表,其中包含每个人的唯一ID。另一个表还包含他们的唯一ID和他们在某个商店的购买数量。我如何计算他们购买的数量 SELECT PERSON.ID, PERSON.NAME, (SELECT COUNT(*) WHERE PERSON.ID = PURCHASE.PERSON_ID) AS 'Total Purchases' FROM PERSON_TABLE AS PERSON, PURCHASE_TABLE AS PURCHASE 这个示例curre
SELECT
PERSON.ID,
PERSON.NAME,
(SELECT COUNT(*) WHERE PERSON.ID = PURCHASE.PERSON_ID) AS 'Total Purchases'
FROM PERSON_TABLE AS PERSON, PURCHASE_TABLE AS PURCHASE
这个示例current命令只计算总的购买数量。如何计算每个人的人数?您可以使用聚合:
select pe.id, pe.name, count(pu.person_id) total_purchases
from person_table pe
left join purchase_table pu on pu.person_id = p.id
group by pe.id, pe.name
这为您提供了
purchase_表
中person_表
中每一行的记录计数;left join
用于处理根本没有购买的人,在这种情况下count(pu.person\u id)
将产生0
学会使用正确的join
。它已经存在超过25年了。@Eric你能解释一下如何在我的具体案例中使用它吗?我注意到一个“左连接”;您能解释一下这个命令是如何工作的吗?是否可以对该联接执行内部操作?假设我想找到总额超过20美元的所有采购(PURCHASE\u TABLE.total
)我该怎么做?