关于SQL,做公式的最佳方法是什么?
我有以下结构 日期列也包含小时。我需要计算同一病例编号的开始时间和日期之间的时间 例如,如果案例1有2个子类,我需要计算从第一个子类的开始日期到第二个子类的结束日期,并将其作为“实际固定时间”添加到另一列中 问题是可能有2、10、20或更多子类 有什么想法吗 您将希望结合使用 这将为您提供每个案例的实际固定时间。为了为子类别的每一行显示此结果,您可以在选择表时加入其中:关于SQL,做公式的最佳方法是什么?,sql,formula,Sql,Formula,我有以下结构 日期列也包含小时。我需要计算同一病例编号的开始时间和日期之间的时间 例如,如果案例1有2个子类,我需要计算从第一个子类的开始日期到第二个子类的结束日期,并将其作为“实际固定时间”添加到另一列中 问题是可能有2、10、20或更多子类 有什么想法吗 您将希望结合使用 这将为您提供每个案例的实际固定时间。为了为子类别的每一行显示此结果,您可以在选择表时加入其中: SELECT YourTable.*, FixedTimes.ActualFixedTime FROM YourTable
SELECT YourTable.*, FixedTimes.ActualFixedTime
FROM YourTable
INNER JOIN (SELECT Casenumber,
DATEDIFF(hour, MIN(start_date), MAX(end_date)) AS ActualFixedTime
FROM YourTable
GROUP BY Casenumber)
AS FixedTimes
ON YourTable.Casenumber = FixedTimes.Casenumber
您正在使用什么RDBMS?另外,将文本作为文本而不是文本图片发布。您假设OP使用的是Microsoft SQL Server。
SELECT YourTable.*, FixedTimes.ActualFixedTime
FROM YourTable
INNER JOIN (SELECT Casenumber,
DATEDIFF(hour, MIN(start_date), MAX(end_date)) AS ActualFixedTime
FROM YourTable
GROUP BY Casenumber)
AS FixedTimes
ON YourTable.Casenumber = FixedTimes.Casenumber