Mysql Where 条件使用列别名

有时候我们对查询的结果进行了处理形成了新的列名,又想在查询条件中使用此列别名,但MySQL是不支持这样做的。

 为什么不支持呢?

之所以MySQL中不允许使用列别名作为查询条件,据说是因为MySql中列的别名本来是返回结果的时候才显示的,不在SQL解析时候使用。

有没有解决办法呢?

当然有!

就是在你的查询语句外面再包一层SELECT

SELECT SS.* FROM (
select s.*,(2 * 6378.137* ASIN(SQRT(POW(SIN(PI()*(39.9148890000-s.lat)/360),2)+COS(PI()*39.9148890000/180)* COS(s.lat * PI()/180)*POW(SIN(PI()*(39.9148890000-s.lng)/360),2)))) as juli from vip_stores as s 
)SS
where SS.juli<5.0 order by S.juli asc limit 0,20
貌似还没有更好的方法。

如果有的话,欢迎指教!

======================文档信息===========================

版权声明:非商用*转载-保持署名-注明出处

署名(BY) :testcs_dn(微wx笑)

文章出处:[无知人生,记录点滴](http://blog.csdn.NET/testcs_dn)

==============欢迎关注我的个人微信订阅号(微wx笑)============

Mysql Where 条件使用列别名


上一篇:ORM for Net主流框架汇总与效率测试


下一篇:【转载】 Eclipse 插件Maven在使用 add dependency,找不到包,解决办法