【发布时间】:2021-04-01 16:10:20
【问题描述】:
我希望创建一个函数,如果其中任何一个符合特定条件,则可以删除组中的所有项目。
具体来说,我有一个数据集“家庭”,如果该家庭包含双胞胎,我想删除该家庭的所有成员。
数据集的一部分如下所示:
| Subject ID | Mother_ID | Zygosity_SR |
|---|---|---|
| 1001 | 2001 | MZ |
| 1002 | 2001 | MZ |
| 1003 | 2001 | NotTwin |
| 1004 | 2002 | NotTwin |
| 1005 | 2002 | NotTwin |
在这种情况下,我想删除所有具有与 Zygosity_SR = MZ 的主题相同 Mother_ID 的个人的行。
我的结果表如下所示:
| Subject ID | Mother_ID | Zygosity_SR |
|---|---|---|
| 1004 | 2002 | NotTwin |
| 1005 | 2002 | NotTwin |
这是我到目前为止的 SQL 代码,但我真的可以使用一些指导来了解从这里去哪里:
proc sql;
delete from family
where ZygositySR = 'MZ'
group by Mother ID
;
非常感谢!
【问题讨论】:
标签: sql group-by conditional-statements