Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengira Penjumlahan Baris Berbeza dalam MySQL untuk Statistik Pautan?

Bagaimana untuk Mengira Penjumlahan Baris Berbeza dalam MySQL untuk Statistik Pautan?

Linda Hamilton
Linda Hamiltonasal
2024-11-04 00:07:03531semak imbas

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

Penjumlahan Baris Berbeza dalam MySQL

Pertanyaan ini bertujuan untuk mengira statistik tentang pautan: klik unik, penukaran dan jumlah nilai penukaran. Klausa DISTINCT memastikan setiap baris dikira sekali sahaja dalam kumpulan. Walau bagaimanapun, cabarannya terletak pada menjumlahkan nilai penukaran dengan betul, kerana operasi kumpulan mengikut mungkin mengira pendua.

Penyelesaian melibatkan pengagregatan nilai penukaran dengan betul. Memandangkan setiap ID penukaran yang berbeza sepadan dengan tepat satu ID pautan, jumlah nilai penukaran perlu dilaraskan.

Pertanyaan yang diubah suai adalah seperti berikut:

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;

Pelarasan ini memastikan penukaran nilai dijumlahkan dengan betul untuk setiap baris yang berbeza. Keputusan akhir memberikan statistik yang diingini untuk setiap pautan.

Atas ialah kandungan terperinci Bagaimana untuk Mengira Penjumlahan Baris Berbeza dalam MySQL untuk Statistik Pautan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn