关于SQL,做公式的最佳方法是什么?

关于SQL,做公式的最佳方法是什么?,sql,formula,Sql,Formula,我有以下结构 日期列也包含小时。我需要计算同一病例编号的开始时间和日期之间的时间 例如,如果案例1有2个子类,我需要计算从第一个子类的开始日期到第二个子类的结束日期,并将其作为“实际固定时间”添加到另一列中 问题是可能有2、10、20或更多子类 有什么想法吗 您将希望结合使用 这将为您提供每个案例的实际固定时间。为了为子类别的每一行显示此结果,您可以在选择表时加入其中: SELECT YourTable.*, FixedTimes.ActualFixedTime FROM YourTable

我有以下结构

日期列也包含小时。我需要计算同一病例编号的开始时间和日期之间的时间

例如,如果案例1有2个子类,我需要计算从第一个子类的开始日期到第二个子类的结束日期,并将其作为“实际固定时间”添加到另一列中

问题是可能有2、10、20或更多子类

有什么想法吗

您将希望结合使用

这将为您提供每个案例的实际固定时间。为了为子类别的每一行显示此结果,您可以在选择表时加入其中:

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