我有两个MYSQL表:
Table-1
id catid title user_rating
123 8 title-one 3
321 8 title-two 5
和
Table-2
listing_id title user_rating
123 title-one 3
321 title-two 5
另外,我有这个查询,根据“user_rating”计算每个“标题”的当前排名。
SELECT
MAX(x.rank) AS rank
FROM
(SELECT
a.id,
a.catid,
a.title,
b.listing_id,
@rank:=@rank + 1 AS rank
FROM
`table-1` a
INNER JOIN `table-2` b ON a.id = b.listing_id
CROSS JOIN (SELECT @rank:=0) r
WHERE
catid = '8'
ORDER BY user_rating DESC) x
WHERE
id = 123
现在,我的问题:我想在更新“user_rating”值时计算“排名”(排名)的差异。
请注意:“user_rating”值由php脚本更新,允许用户对特定内容进行投票(范围1到5,步骤0.5)。
更新后获得“之前排名”和“当前排名”之间差异的最佳方法是什么?
提前感谢所有人。