SQL / PHP: Farklı tablodan yüksek oyla Sipariş

0 Cevap php

Ben onlar bakarak nerede birine ziyaretçi benzer öğeleri tavsiye etmek gerekiyordu. Yani (bir 'kategoriler' tablosundan) aynı kategorilerde ile ürün almak için bir SQL sorgusu için another question sordu. Sonraki Aslında kullanıyorum doğru kod:

SELECT c2.itemID
FROM categories c1
JOIN categories c2 ON c1.catID = c2.catID
WHERE c1.itemID = :id
AND c2.itemID <> :id
GROUP BY c2.itemID
ORDER BY count(c2.itemID) DESC;

Bu ('itemIDs' ve 'catIDs' içeren bir tablodan) kategoriler maç sayısına göre sipariş öğeleri döndürür. Yani, örneğin: madde 1 kategoriler 2,3,4,5,6 ve madde 2 kategoriler 2,3,4,5,6 ve madde 3 kategori var var var 3,5,6 sonra madde 1 (bir karşılaştırırsanız Ziyaretçi I Madde 2 ürün 3 daha fazla eşleşme kategoriler var çünkü ilk ve daha sonra madde 3 madde 2 almak gerekir öğenin 2 ve 3) bakıyor.

NOW: Ben yüksek oyla sonuçlarını sipariş etmek de gerekir. Öğeler oy farklı bir tablo vardır. 'ItemID' ve 'toplam_değer', son hızı olma 'toplam_değer' table 'oy' iki sütun içerir.

Yani, nasıl kategoriler maç sayısına göre de sonuçlarını sıralamak için ve aynı zamanda yüksek oyla farklı bir tablodan??

Update: Tablodaki öğeler 8000 + ise sayısı. Ben en benzer öğeleri tavsiye yapmak iyi bir şey kategorilerin tam set ile öğeleri tarafından ilk sipariş ve sonra oylarla olduğunu düşünüyorum. Herhangi bir fikir? Teşekkürler!

0 Cevap