首页 >数据库 >mysql教程 >如何在MySQL中计算不同行求和以进行链接统计?

如何在MySQL中计算不同行求和以进行链接统计?

Linda Hamilton
Linda Hamilton原创
2024-11-04 00:07:03564浏览

How to Calculate Distinct Row Summation in MySQL for Link Statistics?

MySQL 中的不同行求和

此查询旨在计算有关链接的统计信息:其唯一点击次数、转化次数和总转化值。 DISTINCT 子句确保每行在组内仅计数一次。然而,挑战在于正确汇总转化值,因为分组操作可能会计算重复项。

解决方案涉及正确汇总转化值。由于每个不同的转化 ID 恰好对应一个链接 ID,因此需要调整转化值的总和。

修改后的查询如下:

SELECT links.id,
       count(DISTINCT stats.id) AS clicks,
       count(DISTINCT conversions.id) AS conversions,
       SUM(conversions.value) * COUNT(DISTINCT conversions.id) / COUNT(*) AS conversion_value
FROM links
LEFT OUTER JOIN stats ON links.id = stats.parent_id
LEFT OUTER JOIN conversions ON links.id = conversions.link_id
GROUP BY links.id
ORDER BY links.created DESC;

此调整可确保转化每个不同行的值都正确求和。最终结果提供了每个链接所需的统计数据。

以上是如何在MySQL中计算不同行求和以进行链接统计?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn