我在 MySQL 中有一个如下所示的 SQL 表:
id technician_id actionDate station_id
1 10 1317909863 1
2 10 1317909864 1
3 10 1317909865 1
4 10 1317909866 2
5 10 1317909867 2
6 10 1317909868 2
7 10 1317909869 2
8 10 1317909870 2
9 10 1317909871 3
10 10 1317909872 1
11 10 1317909873 1
该数据用于跟踪现场的技术人员。id 列是一个自动增量键。actionDate 列是自 1970 年以来的秒数,station_id 是技术人员正在执行操作的场地上的工作站 ID。
我想从这些数据中确定一些“统计数据”。例如,我想确定技术人员走的路线(从 1 号站到 2 号站,然后从 2 号站到 3 号站,然后从 3 号站回到 1 号站)。还想确定他每次去一个车站花了多少时间(例如:他去1号站,停留3分钟,然后坐他的车30分钟去2号站,停留15分钟,然后坐他的车在 20 分钟内到 3 号站,停留 10 分钟然后回到 1)。
如您所知,这是一个跟踪系统。我需要按actionDate 排序,然后按station_id 分组。但由于技术人员可以访问超过 1 次的站点,因此无法按该列对其进行分组。
任何指针?
我有这个,但它重新组合了所有具有相同 station_id 的行:
select station_id, min(actionDate), max(actionDate)
from Action
where technician_id = 10
group by station_id
order by actionDate;