假如一表,字段如下
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
现在统计所有横纵坐标没有变动的车牌数据(多行),不能最后一条和第一条这样比较求高手,谢谢
是不是需要存储过程实现?

解决方案 »

  1.   


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

  2.   

    你不是要没有变动过的吗?
    这样的话 distinct  lon,lat 的count就应该是1啊
      

  3.   

    呵呵 也对
    另外想问下,除了车牌还有驾校id  schoolid,不同驾校id可能车牌也不一样
    这个额怎么改?
      

  4.   

    where 条件后面加一个 schoolid= a.schoolid
      

  5.   

    1. 按车牌和时间排序
    2. 利用LAG函数,求横坐标与上一行的差值,如果差值为0,则表示横坐标未变动
      

  6.   

    distinct lon, lat如果是1,怎么可能会变动呢?
    你把有问题的示例数据拿出来看下