Each product a product_date_added
which is a Date
field contained the date it was added.
They also have a product_views
which is an int
field containing how many times a product has been viewed.
Bize, popülariteye göre günde bir ürün kaç tıklama hesaplamak için bir algoritma ürünlerini görüntülemek için.
SELECT
AVG(product_views / DATEDIFF(NOW(), product_date_added)) as avg_hits
, product_table.*
FROM product_table
WHERE product_available = "yes"
GROUP BY product_id
ORDER BY avg_hits DESC
Bu çalışır, ama patron ilk gösteren eski ürünlerin bir çok fark edilir. Yani temelde yeni görünümler eski görünümleri, daha fazla ağırlığa sahip istiyor.
Onun önerisi eski bir yıl içinde herhangi bir görüntüleme sayısı yok oldu. Ben performansını yavaşlatabilir olacağını düşünüyorum ki, yapmak için her bakış bir tarih tutmak zorunda düşünüyorum.
What is the best way to create a popularity algorithm like what my boss is asking for?
İdeal tablo yapısını değiştirmez şey ile gelip muktedir isterim. Bu mümkün değilse, en azından biz 0'dan başlayarak değil bu yüzden mevcut verileri kullanabilirsiniz bir çözüm ile gelmek istiyorum. Çalışacak şey daha da şu mümkün değilse.