私はいつもできないと思っていましたが、MSDNはそうではないと言っています。
GROUP BYが使用されていない場合、HAVINGはWHERE句のように動作します。
私はチェックしてエラーが発生しました:
メッセージ8121:
列 '...'は、集計関数にもGROUP BYにも含まれていないため、HAVING句では無効です。
それで、それは何ですか?ドキュメントのエラー、またはあまり知られていない詳細?
これは、Sybase SQLServerで機能したものの1つである可能性があります。現在、MicrosoftはSQL ServerをANSI標準に近づけて書き直しましたが、ドキュメントを修正するのを忘れていました。
これは本当ですか?
集計関数having
を使用せずに使用できますgroup by
。
select avg(price) from tbltemp having avg(price) >= 2
あなたが提供したMSDNリンクでは、与えられた例は、持っている代わりにwhereを使用するように指示しています。
「価格> = 1000の商品からavg(price)を選択」のように書くことはできませんが、「価格> => 1000の商品からavg(price)を選択」と書くことはできます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加