【发布时间】:2018-12-18 10:08:46
【问题描述】:
我有 2 个表,我想计算它们之间的连接记录:
供应商和供应商地址
每个供应商可以没有或有多个地址,所以我想计算前 5 个供应商有多少地址。
试过类似的东西:
select count(*) from suppliers inner join supplier_addresses limit 5;
但它不起作用,我该怎么办?
【问题讨论】:
-
请避免使用
count(*)而不是count(id)或某些特定字段,这样更有效 -
“不工作”是什么意思?一个错误?出乎意料的结果?我可以猜到,但请尝试具体说明您的问题是什么,这会有所帮助。顺便说一句,为什么只有“前 5 个”?首先是什么? ID?姓名? (请记住,在表中排在第一位是没有意义的——SQL 表本身并没有顺序。理论上,如果您在未指定顺序的情况下进行选择,则允许数据库以它喜欢的任何顺序为您提供结果)
-
'前 5 家供应商' - 按字母顺序,按销售额??
-
@ADyson 抱歉。我得到了所有加入的结果,而不仅仅是 5 条记录。
-
好吧,为您提供更多帮助,您需要回答有关如何确定“前 5 个”的问题。实际上,向我们展示一些示例数据,然后您的预期查询结果将使其 100% 更清晰。
标签: mysql postgresql