繁体   English   中英

SQL查询仅显示已完成的GROUPED BY结果

[英]SQL query to show only completed GROUPED BY results

我有一个查询,查看SQL Server 2008 R2中的一组数据的结果。 从本质上讲,一个人的样本每天都要进行几次调查几个月。 在Visual Studio中,我现在想要编写一份报告,仅显示那些从未错过整个调查期的人员。

假设列结构如下:

ID | UserRef | ResultRef | Date  | Time 

哪里:

  • ID是行的唯一标识符

  • UserRef是每个参与者的唯一标识符

  • ResultRef表明调查是如何完成的(例如“A”表示调查按时完成;“C”表示参与者完全错过调查;“O”表示调查已完成,但迟到;等等等)

  • DateTime是自我解释的

我想要找到的是所有从未错过调查的人(即他们的ResultRef只记录过“A”)。

同样值得注意的是,并非所有参与者都被邀请回应所有调查:有些将是,但有些人只会被邀请参加其中一些调查。

我一直在考虑GROUP BY查询,但无法弄清楚WHERE子句。

有什么建议么?

尝试这个

SELECT * FROM yourTable WHERE ResultRef = 'A' and UserRef NOT IN 
 (SELECT DISTINCT UserRef FROM yourTable 
  WHERE ResultRef != 'A')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM