Mysql 获取产品的数量

标签: MySQL
发布时间: 2015/6/11 21:09:21
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我有以下的两个表

# vendor table
vendor_id     host
   1       192.168.0.2
   1       192.168.0.4
   1       192.168.0.6
   2       192.168.1.21
   2       192.168.1.23
   2       192.168.1.25
   2       192.168.1.27

# information table
    host        name
 192.168.0.2     bar
 192.168.0.4     bar1

我需要在结束是以下结果集

vendor_id amount_live amount_total
    1         2            3
    2         0            4

列 amount_live 的每个供应商信息表中的条目数量,列 amount_total 是每个供应商的供应商表中的主机数目。

一些专家能告诉我 mysql 的 select 语句,以得到所需的结果集。谢谢你。

解决方法 1:

你可以用 countouter join :

select v.vendor_id, 
   count(i.host) amount_live,
   count(*) amount_total
from vendor v
    left join information i on v.host = i.host
group by v.vendor_id
官方微信
官方QQ群
31647020