我正在为书店建立一个门户网站。
我希望允许用户将其他用户标记为“受信任”或“不受信任”。
我想通过订购整体信任级别来确定谁是我们的商店最受信任的用户。
以下是一个示例,说明如何计算此信任级别:
我们将计算鲍勃的信任等级......
Bob已被其他100位用户标记为“受信任”,并被20位用户标记为“不信任”。鲍勃的信任等级= 100 - 20 = 80。
我有下表:
Judges(judgerLoginName:VARCHAR(45),judgeLoginName VARCHAR(45),trustLevel SMALLINT)
现在,我的trustRvel为0表示“不信任”,1表示“信任”。
所以,我正在考虑将所有0改为-1,所以我可以做一个简单的事情:
SELECT judgedLoginName, SUM(trustLevel)
FROM Judges
GROUP BY judgedLoginName,
ORDER BY SUM(trustLevel) DESC
但是,我想知道是否有一种同样简单的方法可以从countOfTrusted中减去countOfNotTrusted。你有什么建议?我对数据库开发很陌生,并希望得到任何指导。
答案 0 :(得分:1)
SELECT judgedLoginName, SUM(IF(trustLevel = 0, -1, 1))
FROM Judges
GROUP BY judgedLoginName,
ORDER BY 2 DESC
答案 1 :(得分:0)
SELECT judgedLoginName, -COUNT(*)+2*SUM(trustLevel)
FROM Judges
GROUP BY judgedLoginName,
ORDER BY 2 DESC
为所有用户提供-1
的值,并添加受信任的用户+2
,为其生成+1
。