我正在开发一个基于Web的工具,可以帮助分析6位彩票中发生的数字间隔。
让我们首先关注某个数字。说7
到目前为止,我已经完成了sql查询:
SELECT * FROM `l642` WHERE `1d`=7 OR `2d`=7 OR `3d`=7 OR `4d`=7 OR `5d`=7
OR `6d`=7 ORDER BY `draw_date` DESC LIMIT 2
这会将最近两个最近的日期拉到7所在的位置
我正在考虑使用DATEDIFF,但是我对如何获取前一个值以在最新的draw_date上减去它感到困惑
我的目标是列出数字1-42的间隔,我计划使用PHP来实现。
期待您的帮助
最佳答案
我想到了一些想法。
(1)首先,由于您已完美地对结果集进行了排序,因此对两行使用PHP循环,获得$ date1 = $ row ['draw_date']。然后获取下一行/最后一行并设置$ date2 = $ row ['draw_date']。有了这两个
$diff=date_diff($date1,$date2);
作为天数的差异。
(2)
第二种方法是让mysql通过在结果集中包含一个行号并使用别名(例如row1的别名a和row2的别名b)进行自联接来返回datediff。
datediff(a.draw_date,b.drawdate)
。如何获取行号可能是:
(2a)行编号在这里找到:With MySQL, how can I generate a column containing the record index in a table?
(2b)具有ID int auto_increment主键列的工作表,并从显示的LIMIT 2查询中选择(并在迭代1至42之间的截断表工作表)将auto_increment重置为0。
整个表可以用外部表1到42包裹,其中42行返回2列(num,number_of_days),但这不是您的问题。
因此,考虑到您可能很少这样做,我可能建议您不要过度设计它,而是争取排名第一
关于php - 查找最近2个日期的数据间隔,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31364426/