在一次计数中合并多个结果

时间:2018-01-16 12:22:39

标签: mysql

我有一张销售表和一张销售商品表。每次销售可以有多个项目。该销售还有一个销售代理商及其用于搜索的代理商ID(在此示例中代理商ID为8)。 因此伪查询计算特定产品类型的数量(在两个日期之间为特定代理商找到项目表。

表格布局 agency --->sale--->item1 |-->item2

我的查询是

agency --->sale--->item1
                   |-->item2

如果我这样做,我会

SELECT (SELECT COUNT(DISTINCT(sale_id)) 
FROM sales_order_items AS si 
WHERE si.sale_id = s.id AND si.product_type ='1')as COUNT 
FROM sales as s 
JOIN agency as a ON s.sales_person = a.agency_id 
WHERE s.created >= '2018-01-01 00:00:00' AND s.created <= '2018-01-08 23:59:59' AND a.agency_id = '8'
GROUP BY s.sales_person

如果我删除GROUP BY,我会

COUNT
1

但是我想要数字的SUM,所以在上面这个例子中......发现了4个项目!

我正在使用DISTINCT,因为在我搜索的产品类型的同一销售中可能有很多商品,但我只是想知道有多少销售产品类型而不是订单上的商品数量。我哪里错了?

帮助表示赞赏

基思

0 个答案:

没有答案