- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一个 MySQL 表,其中包含来自汽车 GPS 跟踪器的数据(纬度、经度、速度、时间)。我想选择汽车停止(速度 = 0)超过 10 分钟、30 分钟、1 小时等的位置(纬度、经度和时间)。
我的表格是这样的:
id latitude longitude speed time-----------------------------------------------------------------------304 52.388983333333336 17.025338333333334 33.67 2014-03-26 08:00:04305 52.39029 17.023776666666667 34.65 2014-03-26 08:00:14306 52.391035 17.021631666666668 32.91 2014-03-26 08:00:24307 52.39103166666666 17.01917 30.03 2014-03-26 08:00:34308 52.39089833333333 17.01698 29.33 2014-03-26 08:00:44309 52.390593333333335 17.01532 9.54 2014-03-26 08:00:54310 52.39071333333333 17.015056666666666 0 2014-03-26 08:01:04311 52.39105333333333 17.01499 10.3 2014-03-26 08:01:14312 52.391485 17.01488 7.82 2014-03-26 08:01:24313 52.391705 17.014815 0 2014-03-26 08:01:34314 52.391705 17.014815 0 2014-03-26 08:01:44315 52.391705 17.014815 0 2014-03-26 08:01:54316 52.391705 17.014815 0 2014-03-26 08:02:04317 52.391705 17.014815 0 2014-03-26 08:02:14318 52.391705 17.014815 0 2014-03-26 08:02:24319 52.39232333333333 17.014648333333334 7.12 2014-03-26 08:02:34320 52.392345 17.014635 0 2014-03-26 08:02:44321 52.392345 17.014635 0 2014-03-26 08:02:54322 52.392345 17.014635 0 2014-03-26 08:03:04323 52.392345 17.014635 0 2014-03-26 08:03:15324 52.392345 17.014635 0 2014-03-26 08:03:25325 52.392345 17.014635 0 2014-03-26 08:03:35326 52.392558333333334 17.014471666666665 14.11 2014-03-26 08:03:45327 52.392316666666666 17.012883333333335 27.47 2014-03-26 08:03:55328 52.39194333333333 17.010871666666667 28.93 2014-03-26 08:04:05329 52.39152333333333 17.00893 22.28 2014-03-26 08:04:15330 52.391575 17.007181666666668 27.01 2014-03-26 08:04:25331 52.39164 17.00501 26.48 2014-03-26 08:04:35332 52.39159333333333 17.002895 28.34 2014-03-26 08:04:45333 52.391641666666665 17.000795 26.39 2014-03-26 08:04:55334 52.392156666666665 16.999178333333333 16.56 2014-03-26 08:05:05335 52.39223666666667 16.998796666666667 0 2014-03-26 08:05:15336 52.39234 16.99819 15.38 2014-03-26 08:05:25337 52.39261166666667 16.996865 17.1 2014-03-26 08:05:35338 52.392896666666665 16.995643333333334 20.91 2014-03-26 08:05:45339 52.39313666666666 16.99468 7.5 2014-03-26 08:05:55340 52.39331833333333 16.993918333333333 9.1 2014-03-26 08:06:05341 52.3936 16.992806666666667 16.86 2014-03-26 08:06:15342 52.393746666666665 16.992065 4.72 2014-03-26 08:06:25
I have a MySQL query that should do this, but it kills my database.
select speed, latitude, longitude, min(time) as StartTime, max(time) as EndTimefrom (select t.*, (select count(*) from positions t2 where t2.time 0 ) as grp from positions t ) t where time >= '$from' AND time = min(time) + interval 1 minute
I'm looking for other ideas how to find this positions with speed 0 and idle time.
For example:
Speed: 0
StartTime: 2014-03-26 08:01:34
EndTime: 2014-03-26 08:02:24
寻求帮助,有什么想法吗?
最佳答案
这会选择空闲时间超过 10 分钟的位置。内部查询选择所有位置和空闲时间,外部查询按最小空闲时间过滤。对于内部查询,闲置汽车的速度为 0,并且在同一位置至少有 2 行。空闲时间是通过取同一位置的最大时间和最小时间之间的差来计算的。
SELECT * FROM
(SELECT
latitude,
longitude,
TIME_TO_SEC(TIMEDIFF(MAX(time),MIN(time))) idle_time
FROM positions
WHERE speed = 0
GROUP BY latitude, longitude
HAVING COUNT(*) > 1) t
WHERE idle_time > 600
正如评论中所指出的,上面的查询假定车辆永远不会返回到同一位置。如果车辆有可能回到同一个位置,我们需要确保分组的位置是连续的。这是在下面的查询中通过验证汽车没有在用于每个分组的最大和最小时间之间的另一个位置来完成的。
未测试
SELECT * FROM
(SELECT
latitude,
longitude,
TIME_TO_SEC(TIMEDIFF(max_time,min_time)) idle_time
FROM (SELECT
latitude,
longitude,
(SELECT MIN(time)
FROM positions p2
WHERE p2.latitude = p1.latitude
AND p1.longitude = p2.longitude
AND NOT EXISTS (SELECT 1 FROM positions p3
WHERE p3.time < p1.time AND p3.time > p2.time
AND (p3.longitude != p2.longitude OR p3.latitude != p2.latitude))
) min_time,
(SELECT MAX(time)
FROM positions p2
WHERE p2.latitude = p1.latitude
AND p2.longitude = p1.longitude
AND NOT EXISTS (SELECT 1 FROM positions p3
WHERE p3.time > p1.time AND p3.time < p2.time
AND (p3.longitude != p2.longitude OR p3.latitude != p2.latitude))
) max_time
FROM positions p1
WHERE speed = 0)
GROUP BY latitude, longitude, min_time, max_time
HAVING COUNT(*) > 1) t
WHERE idle_time > 600
关于mysql - 如何从数据库中选择汽车已停止的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23382454/
我正在尝试获取从过去的 startposition/location 到当前移动的 currentposition/location 的距离(以米为单位)。 我确实有工作正常的currentposit
所以我有一堆绝对覆盖的 div。用户通过在叠加层上拖动来创建方形 div。如果您要创建一个 div,然后放大和缩小,div 会保持在同一位置,因为它对叠加层是绝对的,如前所述。 然而问题就出在这里。您
我想找到 View 在显示屏幕上的位置。 为此,我使用了 view.getLeft() 、view.getBottom() 、view.getRight() 等方法> , view.getTop()。
我有一个看起来像这样的 View 层次结构(基于其他答案和 Apple 的使用 UIScrollView 的高级 AutoLayout 指南): ScrollView 所需的2 个步骤是: 为 Scr
所以我有一个名为 MARKS 的表,我有这些列 STUDENT_ID, CLASSFORM_NAME, ACADEMIC_YEAR, TERM, SUBJECT_NAME, TOTAL_MARKS
我有一个问题我无法理解,请帮助: 我开发了带有图像的 html 页面,并使用 jQuery UI 帮助使它们可拖动,我将这些图像位置设置为相对位置并给出了左侧和顶部像素,这是页面的链接 http://
我正在尝试创建一个 CSS 动画,它在 sprite 表中循环播放 16 个图像,给人一种幽灵“漂浮”的错觉。动画通过在 background-position 位置之间移动以显示不同状态的幽灵来实现
我正在创建这个网站的 WebView https://nearxt.com/打开时询问位置但是当我使用此链接在 flutter 中创建 webview 时那么它就无法定位我还在应用程序中定义了位置,但
我正在以编程方式创建一个需要跨越 2 个屏幕的窗口。正在创建的窗口的大小是正确的,但窗口大约从第一个屏幕的一半开始。我可以将它拖回第一个屏幕的开头,NSWindow 非常适合。 我只需要知道在窗口的起
位置“/”的匹配叶路由没有元素。这意味着默认情况下它将呈现一个空值,从而导致一个“空”页面 //App.js File import { BrowserRouter as Router, Routes
我有一个运行 Ubuntu 和 Apache 的 VPS 例如,假设地址是:5.5.5.5 在 VPS 上,我有一个名为 eggdrop 的用户(除了我的 root 用户)。 用户 eggdrop 有
我有一个 JLabel与 ImageIcon ,我使用 setIcon() JLabel中的函数. ImageIcon然后上来,坐在我的JLabel 的文字左侧.是否有可能拥有 ImageIcon在文
我的图中有节点,它们的 xlabels 位于它们的左上方。我怎样才能改变这个位置?我希望 xlabels 正好位于节点本身的旁边。 最佳答案 xlp是你想要的属性,但它没有做任何事情。 你不能改变位置
我对基本的 VIM 功能有疑问:(我尝试谷歌搜索但找不到答案) 如何列出所有自定义功能。(我做了 :function 并且不能找到我的自定义函数) 如何获得自定义函数列表中的函数(或它们的存储位置)。
我是 PHP 的新手,虽然我一直在搜索,但我不知道该怎么做。 我知道可以使用 Location("some page") 进行重定向。我还读到,只要没有向用户显示任何内容,它就可以工作。 我想做的是:
如果在 jgrowl.css 中位置更改为“center”,我如何将其覆盖为默认值,即“top-right” $.jGrowl(data, { header: 'data', an
我需要根据用户是否滑动屏幕顶部、屏幕中间或屏幕底部来触发不同的事件。我正在尝试找出最好/最简单的方法来做到这一点,因为我很确定没有办法从 UISwipeGestureRecognizer 获取位置。
我需要枚举用delphi编写的外部应用程序中使用的类 ,因此我需要访问VMT表以获取该信息,但是我找不到任何有关如何在exe(由delphi生成)文件中找到VMT(虚拟方法表)的位置(地址)的文档。
在 D2010 (unicode) 中是否有像 Pos 这样不区分大小写的类似函数? 我知道我可以使用 Pos(AnsiUpperCase(FindString), AnsiUpperCase(Sou
我正在尝试为我的reveal.js 演示文稿制作一个标题,该标题会粘贴在屏幕顶部。标题中的内容在每张幻灯片的基础上都是动态的,因此我必须将标记放在 section 标记中。 显然,如果标记在 sect
我是一名优秀的程序员,十分优秀!