这看起来很简单,但我不知道如何做到这一点或正确的描述来正确地谷歌它:(
简单地说,有一个表:
PatientID | Date | Feature_of_Interest...
我想为多次就诊的患者绘制一些结果,当他们具有感兴趣的特征时。按感兴趣的功能进行过滤没有问题,但我只希望生成的查询包含具有多个条目的患者。
SELECT PatientID,Date,...
FROM myTable
WHERE Feature_Of_Interest is present
AND (Filter out PatientID's that only appear once)
所以 - 只是不知道如何解决这个问题。我尝试这样做:
WITH X AS (Above SELECT, Count(*),...,Group by PatientID)
然后重新运行查询,但没有成功。如果需要的话,我可以将其全部发布出来,但我觉得我完全倒退了,所以现在会推迟。
使用 SQL Server 2008。
最佳答案
试试这个:
WITH qry AS
(
SELECT a.*,
COUNT(1) OVER(PARTITION BY PatientID) cnt
FROM myTable a
WHERE Feature_Of_Interest = 'present '
)
SELECT *
FROM qry
WHERE cnt >1
关于SQL - 仅选择具有多个条目的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6700905/