不计算但获得行数

时间:2018-12-28 07:26:00

标签: mysql

我在获取退回订单数量方面遇到一些问题。

我正在尝试计算特定客户和特定状态的订单数量:

SELECT orderID FROM orders_detail WHERE userID = 1 AND statusorderID = 2

查询返回正确的7行:

orderID
1
1
2
2
2
165
165

如果我在查询中使用count,则返回的也是“ 7”。

但是我的问题是我需要返回“ 3”的查询,因为1是一个订单(有2个产品),2是一个订单(有3个产品),而165是一个订单(有2个产品)

任何线索我怎么能得到这个?

感谢技巧,欢呼声,马克

1 个答案:

答案 0 :(得分:1)

您可以尝试以下操作-使用distinct orderID

SELECT distinct orderID FROM orders_detail WHERE userID = 1 AND statusorderID = 2

或者,如果要计算它,可以使用

SELECT count(distinct orderID) FROM orders_detail WHERE userID = 1 AND statusorderID = 2