gpt4 book ai didi

mysql - 如何计算具有记录限制的连接表的mysql记录?

转载 作者:行者123 更新时间:2023-11-29 09:56:00 26 4
gpt4 key购买 nike

我有 2 个表,我想计算它们之间的连接记录:

供应商和供应商地址

每个供应商可以有一个或多个地址,因此我想计算前 5 个供应商有多少个地址。

尝试过类似的事情:

select count(*) from suppliers inner join supplier_addresses limit 5;

但它不起作用,我应该在这里做什么?

最佳答案

您必须使用帮助 GROUP BY 语句按供应商对地址进行分组,以便每个供应商进行正确计算。例如:

SELECT 
suppliers.id,
count(*)
FROM suppliers
INNER JOIN supplier_addresses ON suppliers.id = supplier_addresses.supplier_id
GROUP BY suppliers.id
LIMIT 5;

如果您想获取 5 个供应商的地址数量,您可以使用子查询。例如:

SELECT count(*)
FROM supplier_addresses
WHERE supplier_id IN (
SELECT id
FROM suppliers
LIMIT 5)

当然,您可以使用定义的供应商标识符^

SELECT count(*)
FROM supplier_addresses
WHERE supplier_id IN (1,2,3,4,5)

关于mysql - 如何计算具有记录限制的连接表的mysql记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53830686/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com