求一实现方法

netajax1 2012-12-25 10:45:49
假如一表,字段如下
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


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

求高手,谢谢
是不是需要存储过程实现?
...全文
444 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
yinan9 2012-12-27
  • 打赏
  • 举报
回复
引用 10 楼 netajax1 的回复:
引用 2 楼 yinan9 的回复:SQL code?1234select plateno from tbl a where (select count(1) from (select distinct lon, lat from tbl where plateno = a.plateno)) = 1; 这样有问题 比如第一条和最后一条一样,就查不……
distinct lon, lat如果是1,怎么可能会变动呢? 你把有问题的示例数据拿出来看下
netajax1 2012-12-27
  • 打赏
  • 举报
回复
引用 2 楼 yinan9 的回复:
SQL code?1234select plateno from tbl a where (select count(1) from (select distinct lon, lat from tbl where plateno = a.plateno)) = 1;
这样有问题 比如第一条和最后一条一样,就查不了,我是想查某一车牌所有数据没有任何变动的情况
hupeng213 2012-12-26
  • 打赏
  • 举报
回复
1. 按车牌和时间排序 2. 利用LAG函数,求横坐标与上一行的差值,如果差值为0,则表示横坐标未变动
善若止水 2012-12-25
  • 打赏
  • 举报
回复
分四步走 一 取出所有横坐标没有变动的车牌号,表1 二 取出所有纵坐标没有变动的车牌号,表2 三 用表1和表2进行关联后,取相同的车牌号 四 依据车牌号从事实表中提取需要的记录
yinan9 2012-12-25
  • 打赏
  • 举报
回复
where 条件后面加一个 schoolid= a.schoolid
netajax1 2012-12-25
  • 打赏
  • 举报
回复
不同驾校id车牌可能也一样 说错了
netajax1 2012-12-25
  • 打赏
  • 举报
回复
引用 4 楼 yinan9 的回复:
引用 3 楼 netajax1 的回复:引用 2 楼 yinan9 的回复:SQL code?1234select plateno from tbl a where (select count(1) from (select distinct lon, lat from tbl where plateno = a.plateno)) = 1;不是>1 ……
呵呵 也对 另外想问下,除了车牌还有驾校id schoolid,不同驾校id可能车牌也不一样 这个额怎么改?
yinan9 2012-12-25
  • 打赏
  • 举报
回复
引用 3 楼 netajax1 的回复:
引用 2 楼 yinan9 的回复:SQL code?1234select plateno from tbl a where (select count(1) from (select distinct lon, lat from tbl where plateno = a.plateno)) = 1;不是>1 ?
你不是要没有变动过的吗? 这样的话 distinct lon,lat 的count就应该是1啊
netajax1 2012-12-25
  • 打赏
  • 举报
回复
引用 2 楼 yinan9 的回复:
SQL code?1234select plateno from tbl a where (select count(1) from (select distinct lon, lat from tbl where plateno = a.plateno)) = 1;
不是>1 ?
yinan9 2012-12-25
  • 打赏
  • 举报
回复

select plateno
  from tbl a
 where (select count(1)
          from (select distinct lon, lat from tbl where plateno = a.plateno)) = 1;
netajax1 2012-12-25
  • 打赏
  • 举报
回复

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧