我有三张表A,B,C。我想列出交叉计数。
方法1:-
select count(id) from A a join B b on a.id = b.id join C c on B.id = C.id;
结果计数- X
方法2:-
SELECT count(id) FROM A WHERE id IN (SELECT id FROM B WHERE id IN (SELECT id FROM C));
结果计数- Y
每个查询中的结果计数是不同的。到底是怎么回事?
似乎我们不能在MS Access中使用Count (Distinct column)函数。我有以下数据和预期结果,如下所示
寻找能给出所需结果的MS Access查询。
数据
ID Name Category Person Office
1 FIL Global Ben london
1 FIL Global Ben london
1 FIL Overall Ben Americas
106 Asset Global Ben lo
我正在运行Server 2012。
我有一个查询,当条带化到其最基本的形式时,如下所示:
SELECT COUNT(DISTINCT fullAddress) as quickCount
FROM leads
WHERE yearID >=12 AND yearID <=21
铅表中有大约1.49亿条记录。leadID上有一个聚集索引,而非聚集索引是YearID上的索引,并且有一个fullAddress包含。
这个查询需要大约40秒才能运行。我意识到这并不坏,但在这种情况下,这还不够快。
我看了一下执行计划,据我所知,大约60%的成本是不同的数字。
当我在没有不同计数的情况下运行
假设我有两个表,sport_class和music_class。
我想找一些在music_class而不是在sport_class的学生。预期的结果是:2(朱莉娅和彼得)。请帮帮我,谢谢。
,这就是我尝试过的:
SELECT COUNT(DISTINCT x.name) AS diff_user
from sport_class x RIGHT
JOIN music_class y ON x.name = y.name
WHERE x.name != y.name;