Ich suche Hilfe bei der Verwendung sum() in meiner SQL-Abfrage:MYSQL sum() für verschiedene Reihen
SELECT links.id,
count(DISTINCT stats.id) as clicks,
count(DISTINCT conversions.id) as conversions,
sum(conversions.value) 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;
Ich benutze DISTINCT
, weil ich „von der Gruppe“ mache und dies sorgt für die gleiche Zeile wird nicht mehr als einmal gezählt.
Das Problem ist, dass SUM (conversions.value) zählt den „Wert“ für jede Zeile mehr als einmal (aufgrund der Gruppe von)
ich im Grunde SUM(conversions.value)
für jede einzelne conversions.id tun will.
Ist das möglich?
Das Posten der vollständigen Abfrage wäre hilfreich. Wie duplizierst du Werte mit einer GROUP BY? – Matthew
Machst du ein Join? Sie sollten Ihre Anfrage posten. Es gibt ein paar Optionen, die Sie je nach Abfrage verwenden können. –
Ich aktualisierte meine Frage mit der vollständigen Abfrage – makeee