我有MS SQL查询2返回一些使用COUNT函数的结果。
我可以运行第一个查询并获得的第一个结果,然后再运行另外一个得到其他结果,减并找到结果; 然而,有没有办法将所有3种功能,并获得1个整体结果
如:运行SQL1运行SQL2运行SQL3(SQL1,SQL2)....?
我想他们XXXX的功能,但没有运气。
我有MS SQL查询2返回一些使用COUNT函数的结果。
我可以运行第一个查询并获得的第一个结果,然后再运行另外一个得到其他结果,减并找到结果; 然而,有没有办法将所有3种功能,并获得1个整体结果
如:运行SQL1运行SQL2运行SQL3(SQL1,SQL2)....?
我想他们XXXX的功能,但没有运气。
您应该能够使用子查询为:
SELECT
(SELECT COUNT(*) FROM ... WHERE ...)
- (SELECT COUNT(*) FROM ... WHERE ...) AS Difference
只是测试它:
Difference
-----------
45
(1 row(s) affected)
SELECT (SELECT COUNT(*) FROM t1) - (SELECT COUNT(*) FROM t2)
我知道这是一个老的文章,但这里是最适合我的需要另一种解决方案(上火鸟测试)
SELECT c1-c2 from (select count(*) c1 from t1), (SELECT COUNT(*) c2 from t2);
SELECT(SELECT COUNT(FIRSTNAME)FROM TRMDW.EMPLOYEE1) - (SELECT COUNT(DISTINCT FIRSTNAME)FROM TRMDW.EMPLOYEE1)从双差;
只要创建您的查询逻辑内联函数,并将其返回结果。 如需要参数传递。
select @result = (select count(0) from table1) - (select count(0) from table2)
SELECT
t1.HowManyInTable1
,t2.HowManyInTable2
,t1.HowManyInTable1 = t2.HowManyInTable2 Table1_minus_Table2
from (select count(*) HowManyInTable1 from Table1) t1
cross join (select count(*) HowManyInTable2 from Table2) t2
SELECT (count(*) from t1) - (count(*) from t2);
这为我工作。
此外,如果只有一个表,你也可以这样做:
SELECT (count(column1)) - count(column2)) from table;
((SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(米, '/',2), '/', - 1)从MS WHERE ms.id = t.m_id) - (SELECT COUNT(ID)FROM吨为Tr WHERE tr.m_id = t.m_id))AS剩余