表1 图1 车辆行驶的历史数据 比如经纬度和时间等等 表名 autogpsinfo
表2 图2 用户对应的不同分组 分组下有车 每个车都有一个分组 表名carterm
表3 图3 车辆详细信息 比如分组 车载 ID 车主 车牌 等等 表名 carinfo
根据车载ID 不同 查找出车辆 每天的最高速度 和最高速度的经纬度方向 信息 状态可以不考虑
需要这几个字段 见图4
我写了一个
select left(max(convert(char,a.gpsdatetime,120)),10) as times,a.tel, max(a.speed)as speed ,
b.owner,b.license from AutoGPSInfo a,carterm t,carinfo b
where a.tel=b.tel and a.gpsdatetime>='2009-10-01 00:00:00' and a.gpsdatetime<='2009-10-10 00:00:00'
and t.username='admin' and t.groupname=b.term and b.tel='13966880002'
GROUP BY left(a.gpsdatetime,10),a.tel,b.owner,b.license
order by times
结果如图5
不能加其他字段 不然数据就不正确了 我每个车每天只需要一条数据 望解答 谢谢!!!
思路:1.根据(日期,TEL)分组,找出Max(speed)那条记录
2.根据(日期,TEL,speed)找出其他相关信息。
select a.gpsdatetime, c.licence,a.state,a.speed,a.x,a.y,a.direction
from autogpsinfo a,
(select gpsdatetime,tel,max(speed) from autogpsinfo group by left(gpsdatetime,10),tel ) b,
carinfo c
where a.gpsdatetime=b.gpsdatetime and a.tel=b.tel and a.speed=b.speed
and b.tel=c.tel
order by a.gpsdatetime desc
不好意思,很想帮你,但是你的图片好小,说的问题是什么我都还没看明白,呵呵。。
方便的话把你的数据库建表脚本贴上来,呵呵
1.根据车载id找出每辆车一天的最高速度 和最高速度的经纬度方向 信息 状态等。
2.把这些链接用union链接。基本思路是这样
select * from autogpsinfo where 车载id="1" and
rowid=any(select max(rowid) from autogpsinfo
union
select * from autogpsinfo where 车载id="2" and
rowid=any(select max(rowid) from autogpsinfo
注意:rowid是每张表都有的,且是每行记录唯一的