MySQL 间隔取数据

📅 2022-03-21 13:07 👁️ 376 💬 0

MySQL 间隔取数据

背景介绍:系统中存在一张坐标表,存取一段路线桩号的具体坐标,坐标点多且密,如果全部返回给前端,后端接口响应很慢,为了解决这个问题,准备在查询数据库的时候,间隔取出一些坐标点即可,如每十个桩号取一个即可

数据表如下:

image-20220321130234445

具体实现

SELECT
n,id,longitude,latitude	
FROM
	(
	SELECT
		@n:= @n + 1 AS n,
		a.*
	FROM
		 ( SELECT * FROM biz_project_coordinates WHERE hidden = 0 AND geometry_id = "8ae4240e7c83a953017c83e07c043a91" ORDER BY origin_pile ) a,
		 ( SELECT @n := 0 ) b
	) c 
WHERE
	c.n % 10 = 1  // 每十条取一条
	OR c.n = 1 

结果:

image-20220321130536404

登录后才能查看或发表评论, 立即 登录
点击右上角即可分享
微信分享提示