计算距离的SQL语句】的更多相关文章

一,BEGINset @num=6378.138*2*ASIN(SQRT(POW(SIN((lat1*PI()/180-lat2*PI()/180)/2),2)+COS(lat1*PI()/180)*COS(lat2*PI()/180)*POW(SIN((lng1*PI()/180-lng2*PI()/180)/2),2)))*1000;RETURN @num;END二, --里面0占位符是当前位置纬度 1占位符是当前位置经度t_Latitude数据库字段纬度 t_Longitude数据库字段经…
文章转载地址 http://blog.sina.com.cn/s/blog_7bbfd5fd01017d1e.html 新增sql语句具体实现 计算距离(单位 m)并排序 longitude 经度 latitude 纬度 一般地图上显示的坐标顺序为,纬度在前(范围-90~90),经度在后(范围-180~180) 传入参数 纬度 23.163292 经度 113.3114676 SELECT id, latitude, longitude, ROUND( 6378.138 * 2 * ASIN(…
' second as TSec from dual -- 计算 60秒 前的时间 ' minute as TMin from dual -- 计算 10分 前的时间 ' hour as UTCTime from dual -- 计算 8小时 前的时间 / as UTCTime from dual -- 计算 8小时 前的时间 select sysdate - interval '8 2' day to hour as UTCTime from dual -- 计算 8天2小时 前的时间 sel…
SELECT count(distinct uid) FROM `two_users`…
转载于:http://www.w3dev.cn/article/20110125/sql-compute-birthdate-now-days.aspx SQL语句计算距离生日还差几天原理很简单,将要比较的2个日期的年份统一成一样的,然后再使用datediff函数计算记录的数据和当前的日期比较得到相距的天数. 将年份统一成一样的时候需要注意瑞年的问题,需要将当前的时间的年份统一成记录的,而不是将记录的年份统一成当前日期的年份.要不当前为平年,当记录为瑞年并且为2月29号时间转换就出错了.具体示例…
文章转载地址 http://blog.sina.com.cn/s/blog_7bbfd5fd01017d1e.html 感谢作者. 在原文的基础上,我新增了sql语句,方便大家理解 mysql距离计算,单位m,以及排序 lon 经度 lat 纬度 一般地图上显示的坐标顺序为,纬度在前(范围-90~90),经度在后(范围-180~180) 首先新建一张表,里面包含经纬度 SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Tab…
二: SQL语句计算经纬度距离 SELECT id, ( 6371* acos( cos( radians(37) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(-122) ) + sin( radians(37) ) * sin( radians( lat ) ) ) ) AS distance FROM markers HAVING distance < 25 ORDER BY id LIMIT 20 SELECT ( 6…
================================================================================ BI传统实现原理: 1.涉及维度管理(唯一路径,一张网) 2.依据分析维度要求,创建临时表,计算数据,创建缓存表,把计算的结果存储到缓存表中,删除临时表 3.保存生成临时表的SQL语句.缓存计算的SQL语句.查询缓存表的SQL语句 4.完成 总结:维度建模-打包计算数据-显示 ==============================…
这是本人第一次写的~我在某次需求中遇到一个问题,如何在SQL语句中计算出两个日期的天数,然后用那个结果来进行数据的筛选呢?通过网上查阅了资料发现 date_part('day', cast(time1 as TIMESTAMP)- cast(time2 as TIMESTAMP)) 这语句很好地帮我解决了问题!直接看结果: 说明:now() 指的是当前时间:ftime是表中的一个时间字段.这条语句就是先比较ftime和当前时间相差了的天数 然后再判断结果是否等于0天.由于现在的时间是 2018-…
原文:sql语句计算出每个月的天数   从当前月-11个月开始,到当前月为止,用一个sql语句计算出每个月的天数. SELECT TO_CHAR(ADD_MONTHS(SYSDATE,-LEVEL+1),'YYYY-MM') MONTH , TO_CHAR(LAST_DAY(ADD_MONTHS(SYSDATE,-LEVEL+1)),'DD') DAY FROM DUAL CONNECT BY LEVEL <=12…
[20191101]通过zsh计算sql语句的sql_id.txt 1.简单介绍以及测试使用zsh遇到的问题:--//前段时间写的,链接http://blog.itpub.net/267265/viewspace-2659623/=>[20191011]通过bash计算sql语句的sql_id.txt--//bash无法直接实现各种进制的相互转化,我看了bash手册以及上网查一些资料.我发现zsh可以直接实现.--//例子如下:zsh$ echo $(( [##32]16#$v2 ))--//这…
[20191011]通过bash计算sql语句的sql_id.txt --//当我知道如何通过bash计算sql语句的full_hash_value ,就很想通过bash编程计算sql_id.当时受限自己能力--//感觉不好实现.--//链接: http://blog.itpub.net/267265/viewspace-2142512/=> [20170724]关于sql_id那些事.txt 1.简单介绍sql_id.--//sql_id的计算是使用MD5算法进行哈希,生成一个128位的Has…
如果两个坐标的列是(x1,y1).(x2,y2),那么他们之间的距离:SQRT((X1-X2)*(X1-X2)+(Y1-Y2)*(Y1-Y2)) sql排序 SELECT * FROM m_store ORDER BY SQRT((121.517759-`longitude`)*(121.517759-`longitude`)+(31.178469-`latitude`)*(31.178469-`latitude`)) PHP计算距离 /***求两个已知经纬度之间的距离,单位为米*@param…
SQL语句通过身份证号计算年龄 1.截取身份证号上的出生日期 身份证一般为18位数和15位数 18位数身份证的第7-10位数是出生年份,第11-14位数是出生月日,所以18位身份证的年龄计算如下 substring(now(),1,4)-substring(idcard,7,4))-(substring(idcard,11,4)-date_format(now(),'%m%d')>0 15位数身份证的第7-8位数是出生年份,但是少了两位.15位数身份证把1930就简化成30少了前面的19,并且1…
SQL语句实例: select count(id) as num from public.user where cast((CURRENT_TIMESTAMP-login_timed) day as integer )<=1; 或 select count(id) as num from public.user where cast((CURRENT_TIMESTAMP-login_timed) hour as integer )<=24; 大家能够依据表结构稍作调整后使用…
MySQL性能调优 – 使用更为快速的算法进行距离 最近遇到了一个问题,通过不断的尝试最终将某句原本占据近1秒的查询优化到了0.01秒,效率提高了100倍. 问题是这样的,有一张存放用户居住地点经纬度信息的MySQL数据表,表结构可以简化 为:id(int),longitude(long),latitude()long. 而业务系统中有一个功能是查找离某个用户最近的其余数个用户,通过代码分析,可以确定原先的做法基本是这样的: //需要查询的用户的坐标 $lat=20; $lon=20;//执行查…
一,缓存 数据库属于 IO 密集型的应用程序,其主要职责就是数据的管理及存储工作.而我们知道,从内存中读取一个数据库的时间是微秒级别,而从一块普通硬盘上读取一个IO是在毫秒级别,二者相差3个数量级.所以,要优化数据库,首先第一步需要优化的就是 IO,尽可能将磁盘IO转化为内存IO. query_cache_size/query_cache_type (global) Query cache 作用于整个 MySQL Instance,主要用来缓存 MySQL 中的 ResultSet,也就是一条S…
一,缓存 数据库属于 IO 密集型的应用程序,其主要职责就是数据的管理及存储工作.而我们知道,从内存中读取一个数据库的时间是微秒级别,而从一块普通硬盘上读取一个IO是在毫秒级别,二者相差3个数量级.所以,要优化数据库,首先第一步需要优化的就是 IO,尽可能将磁盘IO转化为内存IO. query_cache_size/query_cache_type (global) Query cache 作用于整个 MySQL Instance,主要用来缓存 MySQL 中的 ResultSet,也就是一条S…
做优化,我在这里引用淘宝系统分析师蒋江伟的一句话:只有勇于承担,才能让人有勇气,有承担自己的错误的勇气.有承担错误的勇气,就有去做事得勇气.无论做什么事,只要是对的,就要去做,勇敢去做.出了错误,承担错误,改正错误,这样的人没有人会去责怪. 很久之前就想写一篇关于mysql优化方面的文章了,忙于工作,在着也比较懒散.现在网上mysql优化方面的帖子很多,也不乏精品.很早听一DBA前辈说过:mysql的优化,三分配置的优化,七分sql语句的优化.之前不是很理解,但接触到高并发大数据的时候,这句话的…
按照经纬度计算距离 日常开发中,特别是做微信项目时,经常会遇到根据用户地理位置来展示附近商家的功能,通常解决这种问题的思路是,后台设置商家的经纬度,然后再根据前台传的经纬度进行计算,具体经纬度转换以及前台如何获取,本篇不做详细介绍,可以使用php类方法计算,也可以通过sql语句来计算,在此,主要是介绍利用MySQL创建一个函数,然后在sql语句中使用 创建函数:lat_lng_distance(),单位:km,并已截取小数点2位 CREATE FUNCTION `lat_lng_distance…
一.sql中使用正则表达式 select name,email from user where email Regexp "@163[.,]com$"; sql语句中使用Regexp对性能影响较大. 二.使用Rand()函数获取随机数据 rand();随机数函数 1.随机排序 mysql> select * from hello order by rand(); 2.随机列抽取3条 mysql> select * from hello order by rand() lim…
(1)      选择最有效率的表名顺序 ( 只在基于规则的优化器中有效 ) : ORACLE 的解析器按照从右到左的顺序处理 FROM 子句中的表名, FROM 子句中写在最后的表 ( 基础表driving table) 将被最先处理,在 FROM 子句中包含多个表的情况下 , 你必须选择记录条数最少的表作为基础表.如果有 3 个以上的表连接查询 , 那就需要选择交叉表 (intersection table) 作为基础表 , 交叉表是指那个被其他表所引用的表 . (2)      WHERE…
LINQ to SQL语句(1)之Where 适用场景:实现过滤,查询等功能. 说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的,而判断条件就是它后面所接的子句.Where操作包括3种形式,分别为简单形式.关系条件形式.First()形式.下面分别用实例举例下: 1.简单形式: 例如:使用where筛选在伦敦的客户 var q = from c in db.Customers where c.City == "London" select c; 再如:筛选19…
数据查询:SELECT 以下所有的查询都基于以下的表格: 学生表:STUDENT(SNO,Sname,ssex,sage,sdept); 课程表:course(cno,cnama,cpno,ccredit) 学生选修表:sc(sno,cno,grade) 单表查询 Select [all|distinct] 目标列表达式,- From 表或视图 Where 条件表达式 1.Where子句常用查询条件: 比较: =,>,<,>=,<=,!=,<>(不等于),!>,!…
本文是在Cat Qi的参考原帖的基础之上经本人一题一题练习后编辑而成,非原创,仅润色而已.另外,本文所列题目的解法并非只有一种,本文只是给出比较普通的一种而已,也希望各位园友能够自由发挥. 一.三点一线当学霸:“学生-课程-成绩”类题目 1.1 本题目的表结构 Student(S#,Sname,Sage,Ssex)  学生表  Course(C#,Cname,T#)  课程表  SC(S#,C#,score)  成绩表  Teacher(T#,Tname)   教师表 1.2 本题目的建表及测试…
多表通用的SQL存储过程分页 案例一: USE [Community] GO /****** Object: StoredProcedure [dbo].[Common_PageList] Script Date: 2016/3/8 13:44:58 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE [dbo].[Common_PageList] ( ),---表名 @strFld nvarchar…
MS   SQL   Server查询优化方法查询速度慢的原因很多,常见如下几种 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)          2.I/O吞吐量小,形成了瓶颈效应.          3.没有创建计算列导致查询不优化.          4.内存不足          5.网络速度慢          6.查询出的数据量过大(可以采用多次查询,其他的方法降低数据量)          7.锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷)   …
OQL如何支持CASE WHEN? 今天,一个朋友问我,OQL可否支持CASE WHEN语句?他给的示例SQL如下: then '启用' else '停用' from tb_User OQL是SOD框架的ORM查询语言,它类似Linq,但是它诞生的历史比Linq早,并且更加接近SQL语法.所以,对SOD框架而言,对应ORM如何支持CASE WHEN,就等于是问OQL如何支持CASE WHEN了. 这个问题已经不止这一个朋友来问我了,我想了下,还是把这个问题的解决写一篇博客,给大家一种新的解决方案…
二.改善SQL语句          很多人不知道SQL语句在SQL SERVER中是如何执行的,他们担心自己所写的SQL语句会被SQL SERVER误解.比如:   select * from table1 where name='zhangsan' and tID > 10000 和执行: select * from table1 where tID > 10000 and name='zhangsan'          一些人不知道以上两条语句的执行效率是否一样,因为如果简单的从语句先…
今天同事咨询一个SQL语句,如下所示,SQL语句本身并不复杂,但是执行效率非常糟糕,糟糕到一塌糊涂(执行计划也是相当复杂).如果查询条件中没有NOT EXISTS部分,倒是不要一秒就能查询出来. SELECT * FROM dbo.UVW_PDATest a WITH(NOLOCK) WHERE  Remark='前纺' AND Operation_Name='粗纱' AND One_Status_Code='0047'           AND a.Createtime >='2015-9-…