- ベストアンサー
SQL count 別名を条件に使用
いつもお世話になっております。 標題についてご教授頂きたく質問させて頂きました。 [SQL} select A, B, count(*) as cnt from product where A=1 and cnt > 2 group by A order by cnt desc とこのようにSQLを記述して実行したのですが、 cnt>2でエラーが出ます。 order by には count の別名を使用できるのですが、 where句やHAVINGでは使えません。 この場合 cont(*)>2 またはcount(項目名)>2 としなければならないのでしょうか
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (2)
- 原沢 信道(@nharasawa)
- ベストアンサー率53% (90/168)
回答No.2
- shincha119
- ベストアンサー率42% (95/226)
回答No.1
補足
回答有難う御座います。 解釈順序でwhereは一番上にあたるから、 count(*) as cnt の別名が使えなかったんですね。 大変参考になりました。 今回は select A, B, count(*) as cnt from product where A=1 group by A having count(*) > 2 order by cnt desc としたいと思います。