MySQL 连接两个表并计算 COUNT(*)

问题描述 投票:0回答:1

我有两个表 - 第一个表我试图获取一个城市的总数。第二次,我试图获取单户住宅的总数。基本上,我想要一个城市中活跃且已发布的单户住宅的总数。我如何连接这两个表?

第一个选项适用于城市总数

SELECT sum(case when city_id = '4' then 1 else 0 end) ''
FROM #_property
WHERE status_id =7 AND published =1

第二个选项适用于单户住宅的总数

SELECT sum(case when property_type_id = '13' then 1 else 0 end) ''
FROM #_property_types

我不知道如何让两张桌子加入。

mysql group-by count left-join
1个回答
0
投票

识别公共键 - 两个表之间的公共键可能类似于 property_id 或类似的东西。确保有一列可以连接表格。

连接表 - 使用 INNER JOIN 根据公共键组合表。

应用必要的过滤器 - 使用 WHERE 子句按 city_id、status_id、published 和 property_type_id 进行过滤。

就这样。

SELECT COUNT(*) AS total_count
FROM #_property p
INNER JOIN #_property_types pt ON p.property_id = pt.property_id
WHERE p.city_id = '4'
AND p.status_id = 7
AND p.published = 1
AND pt.property_type_id = '13';
© www.soinside.com 2019 - 2024. All rights reserved.