DELIMITER //
CREATE DEFINER=`xxx`@`%` FUNCTION `PRO_GETNUM`(`param1` INT) RETURNS varchar(5000) CHARSET utf8mb4
BEGIN
declare reInt int(11) default 0
declare reStr varchar(5000) default ''
declare i int(11) default 1
while reInt<=param1 do
if(i!=1) then
set reStr = concat(reStr,reInt,',')
end if
set reInt = i*i
/*select reInt*/
set i = i+1
end while
if length(reStr)>1 then
set reStr = substr(reStr,1,length(reStr)-1)/*去掉最后一个逗号*/
end if
return reStr
END//
DELIMITER
select * from list_A left join (select * from(select item_id as id,count(item_id),addcount from vote_log group by item_id) temp ) list_B on list_A.id = list_B.id where 1=1mysql两点间距,你也自己弄成函数公式如下,单位米:
第一点经纬度:lng1 lat1
第二点经纬度:lng2 lat2
round(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)
例如:
SELECT store_id,lng,lat,
ROUND(6378.138*2*ASIN(SQRT(POW(SIN((22.299439*PI()/180-lat*PI()/180)/2),2)+COS(22.299439*PI()/180)*COS(lat*PI()/180)*POW(SIN((114.173881*PI()/180-lng*PI()/180)/2),2)))*1000)
AS
juli
FROM store_info
ORDER BY juli DESC
LIMIT 316
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)