我已将功能存储在MySql balance()。
中我想选择余额为>的用户100;
这有效
select user, balance() from users where balance() > 100
这不是
select user, balance as b from users where b > 100
我不想两次调用balance()。如何在1个例子中编写查询?
答案 0 :(得分:2)
MySQL扩展了having
子句的使用。如果没有明确的group by
,您可以像使用表别名的where
一样使用它:
select user, balance() as b
from users
having b > 100;
一种替代方法是使用子查询。但是,MySQL实现了子查询,因此增加了额外的开销。