- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:sumやcount関数について)
sumやcount関数の挙動について
このQ&Aのポイント
- sumやcount関数を使用する際に、0の場合はORA-01403: データが見つかりません。エラーが発生することがあります。
- カウント数を0で返すためには、count関数をネストすることで解決できます。
- select文だけを切り取りSQLPlusにて実行した場合、レコードが選択されないと「レコードが選択されませんでした」となります。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
後者のケースではこちらで試した限りは count(count(colA)) --------------------- 0 というようにゼロが返ってきますね。 ただ、問題はそこよりも「Group By」していることだと思います。 Group Byは条件に合致したレコードに対して行うので、該当するレコードがなければ、キーも存在しないので、NULLになりますが、 Group Byを切らなければ、かならず0が返るはずです。 もし、グルーピングしたColBの件数が取りたくてやっているのであれば、 SELECT COUNT(DISTINCT ColB) FROM ...が普通です。
お礼
ご回答ありがとうございます! SELECT COUNT(DISTINCT ColB) FROM ...で上手くいけました。 ただ、0は返ってこずNULLになりましたが。。