如何计算具有特定类型的多个记录

ldxq2e6h  于 2021-06-18  发布在  Mysql
关注(0)|答案(3)|浏览(277)

我想根据类别类型过滤不同的记录
我有两个表作为产品和产品详情
产品

p_id    p_name    p_cat_id
    1      computer1    101
    1      computer2    101
    2      mobile1      102
    2      mobile2      102
    2      mobile3      102

产品详细信息

cat_id  cat_name  cat_staus
    101    computer     active
    102    mobile       active
    103    electronics  active

我想根据类别类型计算以下记录,例如computer1和computer2,其cat\ id为,因此输出将为computer=2
查询:

SELECT product_id,cat_name, 
        COUNT(DISTINCT product_detail.cat_name) AS "my_product" 
        FROM product 
        INNER JOIN product_detail ON product.p_id = product_detail.cat_id
GROUP BY product_detail.cat_id
c0vxltue

c0vxltue1#

如果我理解正确,你要数的产品,有某种类型的类别;即:“对于每个类别,显示该类别的名称和该类别的产品数量”
在这种情况下,请使用以下命令:

SELECT cat_name,
        COUNT(1) AS amount 
        FROM product
        INNER JOIN product_detail ON product.p_id = product_detail.cat_id
GROUP BY product_detail.cat_id

内部联接已经创建了一个类别中所有产品的列表。分组方式可以让您具体查看每个类别。您所需要的只是每个类别的行数。

qojgxg4l

qojgxg4l2#

SELECT product.p_cat_id,
       product_detail.cat_name, 
       COUNT(DISTINCT product.p_name) AS "my_product_count" 
FROM product 
LEFT JOIN product_detail 
ON product.p_cat_id = product_detail.cat_id
GROUP BY product.p_cat_id
ctehm74n

ctehm74n3#

查询:

SELECT product_detail.cat_name,
        COUNT(p_cat_id) AS "my_product" 
        FROM product 
        INNER JOIN product_detail ON product.p_cat_id = product_detail.cat_id
GROUP BY  product_detail.cat_name

相关问题