![]() |
1
1
输出:+==========+===========+=====================+=====================+==============+ | loginId | tractorId | first_date | last_date | driverStatus | |==========|===========|=====================|=====================|==============| | driver35 | 23533 | 2018-10-08 08:33:00 | 2018-10-08 08:56:00 | 2 | |----------|-----------|---------------------|---------------------|--------------| | driver35 | 23533 | 2018-10-08 08:57:00 | 2018-10-08 09:07:00 | 1 | |----------|-----------|---------------------|---------------------|--------------| | driver35 | 23533 | 2018-12-06 08:07:00 | 2018-12-06 09:07:00 | 2 | |----------|-----------|---------------------|---------------------|--------------| | driver35 | 23533 | 2018-12-08 08:07:00 | 2018-12-08 09:07:00 | 3 | +----------+-----------+---------------------+---------------------+--------------+ 我会尽力解释这里发生了什么:
+==========+===========+=====================+=====================+==============+ | loginId | tractorId | first_date | last_date | driverStatus | |==========|===========|=====================|=====================|==============| | driver35 | 23533 | 2018-10-08 08:33:00 | 2018-10-08 08:33:00 | 2 | |----------|-----------|---------------------|---------------------|--------------| | driver35 | 23533 | 2018-10-08 08:33:00 | 2018-10-08 08:37:00 | 2 | |----------|-----------|---------------------|---------------------|--------------| | driver35 | 23533 | 2018-10-08 08:33:00 | 2018-10-08 08:56:00 | 2 | +----------+-----------+---------------------+---------------------+--------------+
如你所见,最后一次约会是
不正确的
!这是因为
第一排窗口 +==========+===========+=====================+=====================+==============+ | loginId | tractorId | first_date | last_date | driverStatus | |==========|===========|=====================|=====================|==============| | driver35 | 23533 | 2018-10-08 08:33:00 | 2018-10-08 08:33:00 | 2 | +----------+-----------+---------------------+---------------------+--------------+ 第二排窗口 +==========+===========+=====================+=====================+==============+ | loginId | tractorId | first_date | last_date | driverStatus | |==========|===========|=====================|=====================|==============| | driver35 | 23533 | 2018-10-08 08:33:00 | 2018-10-08 08:33:00 | 2 | |----------|-----------|---------------------|---------------------|--------------| | driver35 | 23533 | 2018-10-08 08:33:00 | 2018-10-08 08:37:00 | 2 | +----------+-----------+---------------------+---------------------+--------------+ 第三排窗口 +======+=======+=======+=======+=======+======+============……+ | loginid tractorid first date last date driverstatus| |==========_==_==_| |驾驶员35 23533 2018-10-08 08:33:00 2018-10-08 08:33:00 2| |——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————| |驾驶员35 23533 2018-10-08 08:33:00 2018-10-08 08:37:00 2| |——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————| |驾驶员35 23533 2018-10-08 08:33:00 2018-10-08 08:56:00 2| +——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————+
所以,解决这个问题的方法是改变框架:我们不需要从开始到当前行,而是从当前行到结束。所以,
附笔。
更新:
以下是如何
所有三个数字都有以下部分:
下面是引擎盖下面发生的事情:
1。第一个值
为了第一次约会,我们可以用Handy
2。最后一个值-帧不正确
现在我们需要计算最后一个日期。最后一个日期在分区的最后一行,因此我们可以使用
三。最后一个值-正确的帧
为了解决获取最后一个日期的情况,我们需要更改在其上
|
![]() |
2
1
下面的解决方案确定每次岛启动时(当
在那之后,它是一个简单的
回答:
当您去掉样本数据的最后三个记录(因为这不在问题的预期输出中,就像johnyl所说的那样),这个查询将产生问题的确切输出。 |
![]() |
3
0
结果:
|