如何从SQL表中计算不同患者的数量?



我有一个名为New_table的sql表,其中包含subj, pred和obj等列。列id包含字符串值"patient"相应的患者ID可在obj列中找到。

obj11452防波堤入口11462

您的查询将始终返回2作为患者和研究所。

而是使用DISTINCT obj,因为我猜测每个患者都有他们的个人号码,并且您还应该排除非患者的每一行

SELECT COUNT( DISTINCT obj) as number
FROM New_table
WHERE pred = 'Patient'

要获得前20名,您还需要一个订单,以便您获得一个确定的结果或对订单使用RANDOM

WITH CTE AS (SELECT TOP 20 FROM New_table ORDER BY pred)
SELECT COUNT( DISTINCT obj) as number
FROM CTE
WHERE pred = 'Patient'

最新更新