【发布时间】:2020-05-16 07:07:38
【问题描述】:
我有下表,里面有一些简单的数据。
Table sample
Product Date Sold
A 29-04-2020 12:23:44PM Y
A 30-04-2020 12:39:31AM N
A 01-05-2020 03:25:49PM N
A 02-05-2020 05:16:30PM Y
A 03-05-2020 11:11:51AM N
A 04-05-2020 12:39:31AM N
A 05-05-2020 12:20:40AM Y
A 06-05-2020 06:10:56AM N
A 07-05-2020 12:01:03PM N
A 08-05-2020 10:40:45AM N
A 09-05-2020 12:22:49AM Y
A 10-05-2020 12:01:12AM Y
A 11-05-2020 07:29:22PM N
A 12-05-2020 01:58:59AM Y
A 13-05-2020 10:21:47PM Y
我需要做的就是返回 count(A),其中每个 Sold = 'N' 并且前一天也是 Sold = 'N'。时间也很重要,因为它需要选择前一天,而不仅仅是 DAY-24 小时。因此,即使“06-05-2020 06:10:56AM”已经超过 1 天,仍然会选择“07-05-2020 12:01:03PM”。
预期输出:(4) 示例:
Table sample
Product Date Sold
A 01-05-2020 03:25:49PM N
A 04-05-2020 12:39:31AM N
A 07-05-2020 12:01:03PM N
A 08-05-2020 10:40:45AM N
我尝试过使用 2 个表:SELECT count(o1.product) FROM sample o1, sample o2 WHERE (o1.date >= o2.date-1) AND o1.sold = 'N' AND o2.sold = 'N' 但是这对我不起作用。
非常感谢任何帮助,谢谢。
【问题讨论】:
-
MySQL 还是 SQL Server?
-
称我为愚蠢,但我不确定。我正在使用另一个程序来查询 SQL 数据库。我相信是 SQL Server
标签: sql sql-server date