次のクエリでは、SUM内にSUM(h.liked)があるため、「ratingValue」の計算に問題があるようです。
SELECT d.itemID1 as item,
sum(d.sum + d.count*SUM(h.liked))/sum(d.count) as ratingValue
FROM history h, dev d
WHERE h.userID=:id_user
AND d.itemID1<>h.itemID
AND d.itemID2=h.itemID
GROUP BY d.itemID1,h.itemID
理解を深めるために、これは(Slop Oneアルゴリズムからの)元の機能するクエリです。
私の場合、r.ratingValueはユーザーがitemIDに与えたすべての「いいね」の合計であるため、「rating」テーブルを「history」に置き換えます(=> r.ratingValue = SELECT SUM(liked)FROM history GROUP by h.itemID):
SELECT d.itemID1 as item,
sum(d.sum + d.count*r.ratingValue)/sum(d.count) as ratingValue
FROM rating r, dev d
WHERE r.userID=$userID
AND d.itemID1<>r.itemID
AND d.itemID2=r.itemID
GROUP BY d.itemID1