两个sql查询之间的减法

and*_*eas 20 sql t-sql sql-server subtraction

我在MS SQL中有2个查询,使用COUNT函数返回大量结果.

我可以运行第一个查询并获得第一个结果,然后运行另一个查询得到另一个结果,减去它们并找到结果; 但有没有办法结合所有3个功能,并得到1个整体结果

如:运行sql1运行sql2运行SQL3(sql1-sql2)?....

我尝试用xxxx作为函数,但没有运气.

Joe*_*oey 34

您应该能够使用子查询:

SELECT
    (SELECT COUNT(*) FROM ... WHERE ...)
  - (SELECT COUNT(*) FROM ... WHERE ...) AS Difference
Run Code Online (Sandbox Code Playgroud)

刚试过它:

Difference
-----------
45

(1 row(s) affected)
Run Code Online (Sandbox Code Playgroud)


Gar*_*ill 23

SELECT (SELECT COUNT(*) FROM t1) - (SELECT COUNT(*) FROM t2)
Run Code Online (Sandbox Code Playgroud)


小智 8

这将返回差异

SELECT COUNT(Attribute) - COUNT(DISTINCT Attribute) FROM table_name;
Run Code Online (Sandbox Code Playgroud)


小智 5

我知道这是一篇旧文章,但这是另一个最适合我的需求的解决方案(在 firebird 上测试)

SELECT c1-c2 from (select count(*) c1 from t1), (SELECT COUNT(*) c2 from t2);
Run Code Online (Sandbox Code Playgroud)