【发布时间】:2012-09-30 01:06:37
【问题描述】:
我在下面的 MySQL 中有这个记录
RecID | Description | Date | Hits | IsPublished
1; "Test"; 04/10/2012; 45; True
2; "Test 1"; 04/10/2012; 37; True
3; "Test 2"; 05/10/2012; 12; True
4; "Test 3"; 05/10/2012; 13; True
5; "Test 4"; 07/10/2012; 14; True
6; "Test 5"; 07/10/2012; 25; True
7; "Test 4"; 08/10/2012; 23; True
8; "Test 5"; 08/10/2012; 35; True
9; "Test 9"; 12/10/2012; 7; True
希望实现以下目标
9; "Test 9"; 12/10/2012; 7; True
8; "Test 5"; 08/10/2012; 35; True
4; "Test 3"; 05/10/2012; 13; True
基本上,第一条规则是将日期分组为 2012 年 8 月 10 日、2012 年 7 月 10 日、2012 年 5 月 10 日和 2012 年 4 月 10 日。使用这个 08/10/2012 作为起点。然后删除任何彼此接近的日期(最少 1 天)。
顺便说一句……这是澳大利亚的日期 (DD/MM/YYYY)。因此,结果是 08/10/2012、05/10/2012。在这 2 个“有效”天中,然后选择当天点击次数较多的记录。然后将其他设置为 IsPublished = false。
有什么想法可以在 MySQL 中做到这一点吗?
【问题讨论】:
-
你能提供更多关于规则的细节吗?我不明白你的意思......“基本上,第一条规则是将日期分组为 08/10/2012、07/10/2012 和 05/10/2012 和 04/10/2012。使用这个2012 年 8 月 10 日作为基础。然后删除彼此之间的任何日期(最少 1 天)。对我来说没有多大意义。
-
@Adam:这是澳大利亚的日期 (DD/MM/YYYY)。基本上我们需要消除任何连续出现的记录,以便您可以看到 08/10/2012 和 07/10/2012 已接近(相隔 1 天),因此我们需要删除 07/10/2012 的记录。然后它找到了下一个 2012 年 5 月 10 日的,然后我们保留了这个,但删除了 04/10/2012 的。有意义吗?
-
@AdamPlocher 我同意。我从这个问题中不知道想要的结果是什么。
-
我调整了问题,使其更清楚。
-
啊,现在更有意义了 :)。该死的我的美国约会。