我有一个包含表格的数据库:
我想显示给定日期的每个制作人的有效外部点击次数和转化次数。所以结果应该是这样的:
到目前为止,我得到了:
SELECT
producer.name,
COUNT(click_external.id),
COUNT(conversion.id),
SUM(conversion.price)
FROM click_external
LEFT JOIN click_internal ON click_internal.id = click_external.click_internal_id
LEFT JOIN product ON product.id = click_internal.product_id
LEFT JOIN producer ON producer.id = product.producer_id
LEFT JOIN conversion ON click_internal.id = conversion.click_internal_id
WHERE click_external.click_valid = 1
AND click_external.date = "2017-02-09"
GROUP BY producer.id
-- GROUP BY click_external.id
问题是当我尝试按producer.id 分组时,COUNT(CLICK_EXTERNAL.id)列的总和大于数据库中实际的行(点击次数)。即点击总和每个提供商的数量都大于未分组点击次数。
我还试图通过click_external.id 分组(如代码注释中所示)以查看哪些行。结果中的行数是可以的,但某些行的计数次数。即某些行的COUNT(CLICK_EXTERNAL.id)列大于1。
我应该在SQL中更改什么?