• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:sumやcount関数について)

sumやcount関数の挙動について

このQ&Aのポイント
  • sumやcount関数を使用する際に、0の場合はORA-01403: データが見つかりません。エラーが発生することがあります。
  • カウント数を0で返すためには、count関数をネストすることで解決できます。
  • select文だけを切り取りSQLPlusにて実行した場合、レコードが選択されないと「レコードが選択されませんでした」となります。

質問者が選んだベストアンサー

  • ベストアンサー
  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.1

後者のケースではこちらで試した限りは count(count(colA)) --------------------- 0 というようにゼロが返ってきますね。 ただ、問題はそこよりも「Group By」していることだと思います。 Group Byは条件に合致したレコードに対して行うので、該当するレコードがなければ、キーも存在しないので、NULLになりますが、 Group Byを切らなければ、かならず0が返るはずです。 もし、グルーピングしたColBの件数が取りたくてやっているのであれば、 SELECT COUNT(DISTINCT ColB) FROM ...が普通です。

ryozyryozy
質問者

お礼

ご回答ありがとうございます! SELECT COUNT(DISTINCT ColB) FROM ...で上手くいけました。 ただ、0は返ってこずNULLになりましたが。。

関連するQ&A