gpt4 book ai didi

mysql - 数据库中的产品计数

转载 作者:行者123 更新时间:2023-11-29 14:23:58 24 4
gpt4 key购买 nike

我在数据库的“products_items”表中列出了一定数量的产品。其中一系列与产品类别相关,其名称可以在名为“产品”的单独表中找到。我试图通过使用 PRODUCTID 将它们与类别JOIN来确定它们的数量

这是我的查询:

SELECT *, count(*) as itemcount 
FROM products
LEFT JOIN products_items
USING(PRODUCTID)
GROUP BY PRODUCTID
ORDER BY `order` ASC, `PRODUCTID` ASC";

这里的问题是,包含 0 和 1 个项目的类别均返回值 1。但是,该查询适用于任何包含 <=2 个项目的类别。有没有办法纠正这个计数以输出正确的数量?

最佳答案

如果您指定要计算的内容:

SELECT *, count(products_items.PRODUCTID) as itemcount 
FROM products
LEFT JOIN products_items
USING(PRODUCTID)
GROUP BY PRODUCTID
ORDER BY `order` ASC, `PRODUCTID` ASC";

通过告诉mysql你想要计算products_items中的一个字段,如果该产品没有 products_items,则计数为 0。而 count(*) 给出 1,因为产品中有 1 行,而 products_items 中有 0 行。

关于mysql - 数据库中的产品计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11338240/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com