Mysql:依赖于列的 COUNT() 的 WHERE 语句?

标签 mysql sql

我已经阅读了大量有关 SO 的答案,但仍然无法正常工作。我很确定我需要一个子查询,但不知道应该从哪里开始...

这是我想做的可读/伪造的:

SELECT DISTINCT cat_sub.*, COUNT(job.job_id) AS num_properties_which_meet_criteria
FROM cat_sub
LEFT JOIN job_cat USING (sc_id)
LEFT JOIN job USING (job_id)
WHERE job.village_id=2 AND num_properties_which_meet_criteria > 0
GROUP BY sc_id 

我正在尝试让我的WHERE 引用job 表中有效结果的数量,在本例中是匹配job.village_id 的那些=2

所以为了清楚起见,我不希望连接匹配的总行数。我想要通过联接匹配并满足 WHERE 条件的总行数。

非常感谢任何帮助!

最佳答案

您使用 HAVING 子句测试聚合函数的值。

SELECT DISTINCT cat_sub.*, COUNT(job.job_id) AS num_properties_which_meet_criteria
FROM cat_sub
LEFT JOIN job_cat USING (sc_id)
LEFT JOIN job USING (job_id)
WHERE job.village_id=2 
GROUP BY sc_id
HAVING COUNT(job.job_id) > 0

关于Mysql:依赖于列的 COUNT() 的 WHERE 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7431420/

相关文章:

c#提交到数据库时从字符串中剥离字符

mysql - 我将如何消除包含 concat 的更新查询中的重复项

mysql - MySql 索引列可为空

mysql - sql SELECT 返回匹配 NULL 或另一个值的值

mysql - SQL 查询 : How many worst cells do I need to exclude to achieve 90% success rate

MySQL索引最佳性能

mysql - 获取包含key1但不包含key2的行

mysql - SQL查询,多次对ID中的相同条目求和

c# - 如何取消SQL打开

mysql - SQL LIKE 用于数字搜索