如何从关系表中计算我的重复项目数[关闭]

Posted

技术标签:

【中文标题】如何从关系表中计算我的重复项目数[关闭]【英文标题】:How to count number of duplicated items in my from relational table [closed] 【发布时间】:2020-10-08 17:02:51 【问题描述】:

我有orderproduct 表。订单表如下所示:

uid  id  ref     order_id
---  --  ------  --------------
1    3   abc.    112
2    3   def     124

而且产品表看起来很喜欢这个

uid  id  sku     order_id
---  --  ------  --------------
1    6   rs-123  112
2    7   rs-123  112
2    8   rs-abc  124

所以我需要一个查询来获取所有具有多个相同 sku 的订单,如下所示:

order_id        sku          qty
--------        ---------    --------
112             rs-123       2

可能有 2 个、3 个或更多具有相同 sku 的商品的订单。我不想显示任何没有重复 sku 的订单

我试过了:

SELECT sku, order_id,
COUNT(distinct sku) As Total
FROM products
GROUP BY order_id
HAVING (COUNT(distinct sku) > 1)

但它没有给出预期的结果。有什么想法吗?

【问题讨论】:

见meta.***.com/questions/333952/… 【参考方案1】:

你快到了。只需将sku 添加到GROUP BY 子句中,然后从计数中删除distinct - 您不妨使用COUNT(*)

SELECT sku, order_id, COUNT(*) As Total
FROM products
GROUP BY sku, order_id
HAVING COUNT(*) > 1

【讨论】:

以上是关于如何从关系表中计算我的重复项目数[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何避免在 SQLAlchemy - python 的多对多关系表中添加重复项?

Laravel 从关系表中获取数据

如何在关系表中显示学术头衔/学位[重复]

从关系表中获取与额外信息的关系

Git:如何管理 C# 库的依赖关系? [关闭]

如何从多对多表中选择一对一关系