Eindeutige Zeilensummierung in MySQL
Diese Abfrage zielt darauf ab, Statistiken über Links zu berechnen: ihre eindeutigen Klicks, Conversions und Gesamt-Conversion-Werte. Die DISTINCT-Klausel stellt sicher, dass jede Zeile innerhalb der Gruppe nur einmal gezählt wird. Die Herausforderung besteht jedoch darin, die Conversion-Werte korrekt zu summieren, da bei der Gruppierung nach möglicherweise Duplikate gezählt werden.
Die Lösung besteht darin, die Conversion-Werte korrekt zu aggregieren. Da jede einzelne Conversion-ID genau einer Link-ID entspricht, muss die Summe der Conversion-Werte angepasst werden.
Die geänderte Abfrage lautet wie folgt:
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;
Diese Anpassung stellt sicher, dass die Conversion erfolgt Die Werte werden für jede einzelne Zeile korrekt summiert. Das Endergebnis liefert die gewünschten Statistiken für jeden Link.
Das obige ist der detaillierte Inhalt vonWie berechnet man die eindeutige Zeilensummierung in MySQL für Linkstatistiken?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!