【发布时间】:2020-10-26 13:11:01
【问题描述】:
假设我在一个表(表 a)中有一个日期字段:
+---------+------------+
| item_id | Date |
+---------+------------+
| 12333 | 10/12/2020 |
+---------+------------+
| 45678 | 10/12/2020 |
+---------+------------+
然后我有另一个日期的表,它加入到上面的表中(他们加入表 b 的主键):
+-------------+------------+-----------+------------+
| primary_key | date2 | item_id | Date |
| (table b) | (table b) | (table a) | (table a) |
+-------------+------------+-----------+------------+
| 45318 | 10/10/2020 | 12333 | 10/12/2020 |
+-------------+------------+-----------+------------+
| 45318 | 10/13/2020 | 12333 | 10/12/2020 |
+-------------+------------+-----------+------------+
| 45318 | 10/24/2020 | 12333 | 10/12/2020 |
+-------------+------------+-----------+------------+
| 75394 | 10/20/2020 | 45678 | 10/12/2020 |
+-------------+------------+-----------+------------+
您看到最后一列来自表 a。我想获取表 b 的“date2”列,以便给我 2020 年 10 月 12 日之后的最早日期,并删除其余的。
因此,对于 45318 的示例,我只想保留第二行(即 10/13/2020),因为那是 2020 年 10 月 12 日之后的最早日期。
如果这没有意义,请告诉我,我会解决它!
【问题讨论】:
-
MAX或 Retrieving last record in each group from database 有什么问题?您尝试过什么?为什么它不起作用? -
@Larnu 我假设如果我得到 date2 的最大值 45318,它会给我 2020 年 10 月 24 日,我不想要那个。
-
只有当你的
JOIN错了,@hanbanan。
标签: sql sql-server clarity