Oracle SQL - 如何显示引用每个类别的所有类别和值的总数

时间:2016-11-08 20:32:37

标签: sql oracle

我有两个表,其中一列用作外键,并引用另一个表。

我有一个标记为产品的表

    ID NAME         CATEGORYID  PRICE
   --- -----       ----------- ----------
 1 Apple             1           .5
 2 Banana            1           .69
 3 Watermelon        1           2.99
 4 Cereal            1           3.99
 5 Large Chips       1           2.99
 6 Small Chips       1           .99
 7 TV                2           699
 8 Phone             2           499
 9 Computer          2           899
10 Laptop            2           1099
11 Headphones        2           39

另一张表为

    ID NAME
------ -----------------
 1 Food
 2 Electronics

"类别ID"是一个引用" ID"的外键。在"类别"表。我要做的是显示第二个表格以及属于每个类别的产品总数。

例如,类别ID 1的总数为6,类别2为5.

1 个答案:

答案 0 :(得分:1)

您需要一个简单的join group by

select ct.id as category_id,
       ct.name as category_name,
       count(pr.id) as number_of_products
from category ct 
     join product pr on ct.id=pr.category_id
group by ct.id,ct.name