我在让这个 SQL 查询正常工作时遇到问题。
我有以下查询
SELECT apps.*,
SUM(IF(adtracking.appId = apps.id AND adtracking.id = transactions.adTrackingId, transactions.payoutAmount, 0)) AS 'revenue',
SUM(IF(adtracking.appId = apps.id AND adtracking.type = 'impression', 1, 0)) AS 'impressions'
FROM apps, adtracking, transactions
WHERE apps.userId = '$userId'
GROUP BY apps.id
一切正常,但是对于我在查询中生成的“印象”列,我得到的数字比应该的大得多。例如,与此查询匹配的应用程序的“印象数”应该只有 72,但当 adtracking 表中没有那么多行时,它的值会超过 3,000。为什么是这样?这里有什么问题?