2016-03-28 4 views
1

私はMySqlに関数を格納しましたbalance()Mysqlコールストア関数を作成する方法

残高が100を超えるユーザーを選択したいと思います。

これはこれではない

select user, balance as b from users where b > 100 

私は2回)(バランスを呼び出すにしたくないん

select user, balance() from users where balance() > 100 

に動作します。 1つの例のようにクエリを書くには?

答えて

2

MySQLはhaving節の使用を拡張しています。明示的なgroup byがない場合、あなたは表の別名でwhereのようにそれを使用することができます:

select user, balance() as b 
from users 
having b > 100; 

1つの代替的なアプローチは、サブクエリを使用することです。しかし、MySQLは副問合せを実現するため、オーバーヘッドが増えます。

+0

ありがとうございます。うまくいく – user1367713

関連する問題