Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle SQL,使用count函数_Sql_Oracle - Fatal编程技术网

Oracle SQL,使用count函数

Oracle SQL,使用count函数,sql,oracle,Sql,Oracle,我在处理涉及count的特定select语句时遇到了很大困难。我应该做的是: 对于每个电影类别,现在投影电影类别名称以及该类别中电影的视频数量 select category_name, count(movie_num) from movie, movie_category where movie.category_code = movie_category.category_code group by category_name; 虽然此语句会生成一些结果,但它不会投影正确数量的结果。我从上

我在处理涉及count的特定select语句时遇到了很大困难。我应该做的是:

对于每个电影类别,现在投影电影类别名称以及该类别中电影的视频数量

select category_name, count(movie_num)
from movie, movie_category
where movie.category_code = movie_category.category_code
group by category_name;
虽然此语句会生成一些结果,但它不会投影正确数量的结果。我从上述陈述中得到:

CATEGORY_N COUNT(MOVIE_NUM)
---------- ----------------
Action                    7
Classic                   4
Family                    4
Drama                     4
Comedy                    1
虽然您看不到我的表格,但希望这些表格能让您了解它们是什么:

Movie(MOVIE_NUM, movie_title, movie_director_lname, movie_yr_released, movie_rating,
category_code)
foreign key(category_code) references movie_category

Movie_category(CATEGORY_CODE, category_name)
最后,这是我应该得到的:

CATEGORY_N   COUNT(*)                                                           
---------- ----------                                                           
Action             20                                                           
Family             10                                                           
Classic             6                                                           
Drama               5                                                           
Comedy              1    

但我想不出来。希望有人能给我指出正确的方向

MOVIE_NUM可能包含空值

使用


当您将
count(movie_num)
更改为
count(*)
时会发生什么情况?是否确定
movie_num
列为
非空
主键
?您可以发布这两个表的DDL脚本吗?
SELECT category_name, COUNT (*)
  FROM movie, movie_category
 WHERE movie.category_code = movie_category.category_code
GROUP BY category_name;
SELECT category_name, COUNT (NVL (movie_num, 1))
  FROM movie, movie_category
 WHERE movie.category_code = movie_category.category_code
GROUP BY category_name;