mysql - 如何正确分离此查询
问题描述
我正在尝试对我的表格进行排序以查找我的订单中的常见类别。进行此查询后
SELECT
ccd.cart_id,
mp.category_name,
ccd.quantity
FROM
customer_orders co
JOIN customer_cart_dtls ccd
ON co.order_cart = ccd.cart_id
JOIN merchant_products mp
ON ccd.product_id = mp.product_id
产生这个结果
所以从那个查询中购物车#2006........63 有 9 件商品。1 来自食物,3 来自水果,2 来自清洁,3 来自零食。除了第二个清洁条目有两个之外,所有这些都是数量 1。如何更改我的查询,以便我得到 10 个数量均为 1 的项目?
看起来像这样
解决方案
您是否试图通过将每个项目分成单独的行然后使用来计算每个类别有多少项目COUNT
?如果是这样,我认为您不一定需要走那条路。SUM
在 group by 之后简单地使用聚合函数可能会容易得多category_name
。它可能看起来像这样:
SELECT mp.category_name, SUM(ccd.quantity)
FROM customer_orders AS co
JOIN customer_card_dtls AS ccd ON co.order_cart = ccd.cart_id
JOIN merchant_products AS mp ON ccd.product_id = mp.product_id
GROUP BY mp.category_name
如果您还想查看购物车 ID,只需将适当的列添加到您的SELECT
和GROUP BY
语句中
推荐阅读
- excel - 将数据带入数据透视表形式 - ME 关键字的使用无效
- git - git 无法创建 .git-credentials
- python - 在 Python 中从具有多个对象的 JSON 文件中读取
- python - Python:Pandas 数据框以消除列中的一些数据
- reactjs - React 重新渲染过程似乎表现不正常
- android - 当我从 github 用户中获取用户时,有没有办法限制为 100 个用户?
- c - 使用链表模拟 shell
- hive - 蜂巢按时间分区
- flutter - 更新behavioursubject对象的最佳实践?
- tensorflow - CPU 是否有实时对象检测算法?