Mysql 如何计算my from关系表中重复项的数量

Mysql 如何计算my from关系表中重复项的数量,mysql,sql,count,distinct,having-clause,Mysql,Sql,Count,Distinct,Having Clause,我有订单和产品表格。订单表如下所示: 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

我有
订单
产品
表格。订单表如下所示:

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)

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

你就快到了。只需将
sku
添加到
groupby
子句中,并从计数中删除
distinct
——您还可以使用
COUNT(*)

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