gpt4 book ai didi

mysql - SQL 错误代码 1055。按组标记的最小日期

转载 作者:行者123 更新时间:2023-11-29 10:14:54 24 4
gpt4 key购买 nike

我正在尝试查找患者服用带有特定标志的药物的最短日期。这是我正在使用的代码:

create table Schema.Want as select 
*, min(case when Flag="True" then Date end) as First_Date
from Schema.Have group by Patient_ID;

我也尝试列出所有变量,但这也没有帮助。当我运行该代码时,我收到与“only_full_group”关联的错误代码 1055。我看到其他人建议我关闭此功能(我还没有尝试过),但我担心为什么会首先抛出此错误。当我收到此错误代码时,是否意味着我的表中有重复的行?

我有 Patient_ID(NUM)、Drug_ID(NUM)、Quantity(NUM)、Fill_Date(日期/字符)、Flag(CHAR)、Comp_Set(CHAR) 和 Drug_strength(CHAR)。因此,如果一名患者在同一天配了两份相同强度和数量的相同药物的处方,那么他们的两行将是相同的。但这对我来说似乎不太可能。

我需要做的就是创建一个单独的列,其中包含患者服用某种药物的最早日期。我的代码在 SAS 中使用 proc sql 可以工作,但在使用 MySQL 时则不行。感谢您提前的帮助!!

最佳答案

您需要将 MIN() 值重新合并回详细记录中。如果您检查 SAS 中的日志,您将看到它正在为您执行重新合并。

create table Schema.Want as 
select a.*,b.First_Date
from Schema.Have a
inner join
(select Patient_ID, min(case when Flag="True" then Date end) as First_Date
from Schema.Have group by Patient_ID) b
on a.Patient_ID=b.Patient_ID
;

关于mysql - SQL 错误代码 1055。按组标记的最小日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50260295/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com