sql - 执行附加连接时,Count (*) 是否会扭曲所需的结果?

标签 sql sql-server sql-server-2008 tsql

我的查询工作正常;但是,我需要将另一个数据集加入到我的查询中,并且我希望 count(f.*)会破裂。

这是我开始的查询:

SELECT
       MIN(received_date) AS FirstVisit
     , patient_id         AS PatientID
INTO #LookupTable
FROM F_ACCESSION_DAILY

SELECT 
       f.doctor           AS Doctor
     , COUNT(f.*)         AS CountNewPatients
     , MONTH(firstvisit)  AS Month
     , YEAR(firstvisit)   AS Year
FROM F_ACCESSION_DAILY f 
INNER JOIN #LookupTable l ON f.received_date = l.FirstVisit 
                         AND f.patient_id = l.PatientID
GROUP BY f.doctor
       , MONTH(firstvisit)
       , YEAR(firstvisit)

DROP TABLE #LookupTable

我想在另一个表上加入上述查询。

问题是*我的count(f.*)保持不变还是会因为我添加了新数据集而改变?*

**我如何确保 count(f.*)会保持不变吗?

非常感谢您的指导。

最佳答案

will my count(f.*) stay the same or will it change because I've added a new dataset?*

COUNT(*) 计算行数。如果加入另一个表,行数增加,COUNT(*)的结果会增加。

How do I make sure that the count(f.*) will remain the same?

使用 COUNT (DISTINCT f.Id)

关于sql - 执行附加连接时,Count (*) 是否会扭曲所需的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12902852/

相关文章:

sql - 触发器 Oracle 中插入行的值

mysql - 有什么方法可以使这些 SQL 查询更快?

sql - 如果值存在于另一个数据库中,则从一个 mysql 数据库中选择信息

php - 将数据从 mssql 转换为 mysql 并在加载文件时出现问题

sql - 如何选择返回超过 1 个值的子查询字段?

sql - 通过 SQL Server 存储过程访问 REST 服务的方法?

c# - 动态列出数据库表中的字段

sql - 如何将 SQL 中的循环转换为基于 Set 的逻辑

sql - 将小数点添加到表中的数据

sql - 将 IF EXIST(SELECT 1 FROM ) 更改为 IF EXIST(SELECT TOP 1 FROM ) 是否有任何副作用?