日期:2014-05-17  浏览次数:20651 次

求一实现方法
假如一表,字段如下
plateno     createtime            lon          lat
分别对应车牌、创建时间、横坐标、纵坐标


车牌1        2012-9-17 18:07:06    0.0         0.0
车牌1        2012-9-18 18:07:06    0.0         0.0
车牌1        2012-9-19 18:07:06    0.0         0.0
车牌2        2012-9-17 18:07:06    0.0         0.0
车牌2        2012-9-10 18:07:06    0.1         0.1


现在统计所有横纵坐标没有变动的车牌数据(多行),不能最后一条和第一条这样比较

求高手,谢谢
是不是需要存储过程实现?

------解决方案--------------------

select plateno
  from tbl a
 where (select count(1)
          from (select distinct lon, lat from tbl where plateno = a.plateno)) = 1;

------解决方案--------------------
分四步走
一 取出所有横坐标没有变动的车牌号,表1
二 取出所有纵坐标没有变动的车牌号,表2
三 用表1和表2进行关联后,取相同的车牌号
四 依据车牌号从事实表中提取需要的记录
------解决方案--------------------
1. 按车牌和时间排序
2. 利用LAG函数,求横坐标与上一行的差值,如果差值为0,则表示横坐标未变动