【发布时间】:2019-06-26 10:04:26
【问题描述】:
我在表格中有这些数据
IF OBJECT_ID('tempdb..#tmpTest') IS NOT NULL DROP TABLE #tmpTest;
SELECT calendar_week, id
INTO #tmpTest
FROM ( VALUES
(201106, 635),
(201106, 636),
(201106, 642),
(201106, 643),
(201107, 635),
(201107, 636),
(201107, 642),
(201107, 643),
(201211, 635),
(201211, 636),
(201211, 642),
(201211, 643),
(201211, 4421),
(201901, 635),
(201901, 636),
(201901, 642),
(201902, 635),
(201902, 636),
(201902, 642),
(201902, 4421)) AS t_insert (calendar_week, id);
我需要知道的是 id 最匹配的日历周。没有任何数据是事先知道的。也就是说,calendar_week 和 id 是随机的。所以在这种情况下,它将是 201106 和 201107,因为它们具有相同的 id 并且我们有两个日历周。任何想法,如何做到这一点?我的脑袋是空的。非常感谢。
编辑:
如果我这样描述它可能会更清楚:
Calendar week 201106 has these ids: 635, 636, 642, 643
Calendar week 201107 has these ids: 635, 636, 642, 643
所以这两个日历周的 id 是相同的,我可以用这些 id 计算两周。所有其他日历周都不同,并且只计算一个。所以 201106 和 201107 是赢家,期望的输出是 201106、201107。
【问题讨论】:
-
为什么不是 201902 和 201211 周的 4421?
标签: sql sql-server tsql