请教只用一次查询能够实现的方法
时间:2011-04-18
来源:互联网
数据表zuobiao
底下的字段和数据在MYSQL里。
Id Name X坐标 Y坐标 扩展范围
1 点A 5 10 2厘米
2 点B -6 13 3厘米
3 点C 8 -12 2.5厘米
4 点D -4 10 2厘米
请问如何查询出包含红点的所有蓝点?像上面这个图,查询能循环出点D和点B,红点是表单输入的X坐标和Y坐标,是用户自己输入的
只用一次select能够做到吗?
还是只能一次查询所有的蓝点,然后再一个一个的排除。虚心求教~
[ 本帖最后由 samwee 于 2011-4-18 17:58 编辑 ]
未命名-1.jpg (44.34 KB)
底下的字段和数据在MYSQL里。
Id Name X坐标 Y坐标 扩展范围
1 点A 5 10 2厘米
2 点B -6 13 3厘米
3 点C 8 -12 2.5厘米
4 点D -4 10 2厘米
请问如何查询出包含红点的所有蓝点?像上面这个图,查询能循环出点D和点B,红点是表单输入的X坐标和Y坐标,是用户自己输入的
只用一次select能够做到吗?
还是只能一次查询所有的蓝点,然后再一个一个的排除。虚心求教~
[ 本帖最后由 samwee 于 2011-4-18 17:58 编辑 ]
附件

2011-4-18 17:55
作者: samwee 发布时间: 2011-04-18
declare @redx int;
declare @redy int;
select * from tb where SQRT(power((x坐标-@redx),2)+POWER((y坐标-@redy),2))<扩展范围
-- 就是看圆心之间的距离少于半径的。
declare @redy int;
select * from tb where SQRT(power((x坐标-@redx),2)+POWER((y坐标-@redy),2))<扩展范围
-- 就是看圆心之间的距离少于半径的。
作者: gw6328 发布时间: 2011-04-18

那么我做分页的时候,假设一页查两组数据,那第一页应该是循环出点A和点B,A假所以除去,第一个分页就只显示出1条信息,第二页亦然,这样有时候甚至会出现一个分页没数据之类的状况发生。
作者: samwee 发布时间: 2011-04-18
引用:
原帖由 gw6328 于 2011-4-18 18:00 发表declare @redx int;
declare @redy int;
select * from tb where SQRT(power((x坐标-@redx),2)+POWER((y坐标-@redy),2))
作者: samwee 发布时间: 2011-04-18

作者: samwee 发布时间: 2011-04-18
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28