日期:2014-05-16  浏览次数:20918 次

关于mySQL, 这样的搜索如何实现
大家好, 最近在用mySQL, 现在能用它的C API 把数据放到数据库里面了. 

有个问题是, 比如数据库的table有L1, L2, L3 这么几栏. 假设给定3个数, 比如x, y, z, 我想从数据库里面找出满足使得 (x-L1)^2+ (y-L2)^2+ (z-L3)^2最小的那组L1, L2, L3. 应该怎么实现呢? 谢谢大家了

------解决方案--------------------
select *
from table1
order by (x-L1)^2+ (y-L2)^2+ (z-L3)^2 
limit 1
------解决方案--------------------
select *
from table1
order by (x-L1)*(x-L1)+ (y-L2)*(y-L2)+ (z-L3)*(z-L3)
limit 1