首页 > 解决方案 > 期间内的多个值 期间内的这些值之一

问题描述

我正在尝试找到一种方法来查找在十二小时内有多个条目的位置,例如 00:00:00 - 11:59:59,其中一个值在十二小时内的另一个时间段内期间(例如 11:00:00 到 11:59:59 之间)

02:43:11 11:17:00

如有必要,这两个时间也可以在 11:00:00 和 11:59:59 之间。

在 12 小时内可能有不止一个条目,但我希望找到至少有两个并且至少一个需要在 11:00:00 - 11:59:59 波段中的位置。

希望这很清楚

标签: sql-servertsqldatetime

解决方案


像这样的东西:

SELECT [entry_id]
FROM [my_table]
GROUP BY [entry_id]
HAVING SUM
       (
            CASE WHEN [Date] >= '00:00:00' AND [Date] <= '11:59:59' THEN 1 ELSE 0 END
       ) >= 2
       AND
       SUM
       (
            CASE WHEN [Date] >= '11:00:00' AND [Date] <= '11:59:59' THEN 1 ELSE 0 END
       ) >= 1

推荐阅读