SQL子查询计数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL子查询计数相关的知识,希望对你有一定的参考价值。

我有一个表格LOCATION,其中包含ID,申请人ID,申请人(工作申请人/学校申请人)和国家/地区。我现在必须查询有多少工作申请人申请了与他们自己不同的国家的学校申请。我尝试过类似的东西,但没有奏效:

SELECT Count(applicants) 
FROM   location 
WHERE  applicants = 'Work' 
       AND country NOT IN (SELECT country 
                           FROM   locations 
                           WHERE  applicants = 'School') 
答案
SELECT Count(applicants) 
FROM   location l
WHERE  applicants = 'Work' 
       AND NOT EXISTS (SELECT 1
                       FROM location o
                       WHERE l.applicant_id = o.applicant_id
                         AND l.country <> o.country
                         AND o.applicants = 'School')

这适用于'Work'的所有申请人,但在其他国家/地区没有'School'的申请人。但是他们可以在同一个国家拥有'School'

以上是关于SQL子查询计数的主要内容,如果未能解决你的问题,请参考以下文章

Sql子查询比较两个计数

转置带有子选择和计数的 sql 查询

SQL Server 2008 R2 子查询分组、求和和计数

在没有 FROM 子查询的 JOIN 中写入具有总和限制的 SQL 计数

如何在没有算术计数的SQL子查询中使用GROUP BY

SQL语句汇总(三)——聚合函数分组子查询及组合查询 - Darly