数据库查询及随机更新的那些事情

原创 2015年07月10日 11:53:10

最近几天实验室一直需要我来造数据,在开始的过程中遇到了些问题,但是最终都还是顺利的解决了,感觉挺容易的,下面说下我在这个过程中遇到的问题及方法。

1、每条船有一个ID即MMSI,但是每一条船在一个月内的数据有多条,数据库中2014.11月有4亿条数据,几十万艘船,现需要随机抽取1000多条船在某一经纬度范围内的数据,由于是随机的,所以用mysql里的Limited可以作为随机限定,语句如下:

SELECT * FROM table WHERE MMSI IN(SELECT MMSI FROM L0_Clean_AIS_Dynamic_Temp WHERE Latitude>=-12000000&&Latitude<=12000000&&Record_Datetime>1417363200&&Record_Datetime<1420041600)LIMIT 3365482

当然这是我之前做过测试的,知道大约300万数据里有1000多条船,其实这句话稍微合理的做法应该和下面第2条语句类似。


2、现在需要从这选择出来的1000条船中,再选择出100多条船的数据,querylimited即为1000多条船的表,当然这个语句和以上的类似的,但是写法有变,得到了126船:

SELECT  *  FROM querylimited  WHERE MMSI  NOT IN (SELECT MMSI FROM (SELECT  DISTINCT MMSI FROM querylimited  LIMIT 126)as t)


由于在where 限定语句后面不能直接使用LIMIT,所以需要在后面加上 as it 即将中间的查询结果,单独作为一个表t


3、

SELECT  *  FROM query126  WHERE MMSI  NOT IN (SELECT MMSI FROM (SELECT  DISTINCT MMSI FROM query126  LIMIT 38)as t)

4、

SELECT  *  FROM query126  WHERE MMSI   IN (SELECT MMSI FROM (SELECT  DISTINCT MMSI FROM query126  LIMIT 38)as t)

5、

UPDATE query88 SET latitude= latitude+RAND()*120000 AND lontitude=lontitude+RAND()*120000

这句话,写错了,用and,并不能直接更新想要的数据库,而是将纬度那一列值赋为0了,如果想同时更新两列,需要用逗号,而不是and,这句话应改为:

UPDATE query88 SET latitude= latitude+RAND()*120000 ,lontitude=lontitude+RAND()*120000



                    
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

java程序员加上班那些事情

  • 2013年04月05日 15:45
  • 2.46MB
  • 下载

Android sqlite 数据库查询,插入,删除,更新demo<第3章>---插入

根据上面的简要,我们在listview显示界面
  • Jarlen
  • Jarlen
  • 2014年04月27日 17:02
  • 872

数据库查询需要注意的事项(持续更新)

1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。  2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放...
  • ty09099
  • ty09099
  • 2013年06月06日 15:54
  • 261

Android sqlite 数据库查询,插入,删除,更新demo<第2章>

接下来,测试DataBasehelper 创建activity,并在activity中c
  • Jarlen
  • Jarlen
  • 2014年04月27日 16:44
  • 1133

Asp/asp.net下Access数据库查询和更新的各种问题解决方案

这里仅以ASP为例,asp.net根据不同语言(VBScript, C#等可能略有差异)调整相关语句即可。1. 无法连接数据库相关的错误:(1)数据库连接字符串有误:有人使用:connstr="DBQ...

JDBC 数据库查询 更新

步骤: 1. 注册驱动程序并建立链接。 2. 执行语句并保存在结果集当中。 3. 资源回收。...

在国内各大软件下载网站上,“万能数据库查询分析器”已更新至 2.02 版本

今天值得庆贺,在国内各大软件下载网站上,“万能数据库查询分析器”中文版本《DB 查询分析器》、英文版本《DB Query Analyzer》已更新至 2.02 版本。        从2.0版本开...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数据库查询及随机更新的那些事情
举报原因:
原因补充:

(最多只允许输入30个字)