我有一个拥有项目列表的用户的数据库。
简单的设计:SQL - 通过动态权重查询
用户:
UserStuff |用户名
ItemsList:
ITEMID |用户ID
每个用户都有一个项目列表。一个Item可以属于许多用户(相同的itemID,不同的userID)。
现在我想给动态权重(在运行时计算,而不是常量,可以存储在数据库中),然后根据他们的项目选择权重最高的用户。
我可以给SQL查询中的项目赋予权重,然后进行计算吗?
我试图避免通过数据库循环和计算用户的权重。
编辑:
例如:
UserStuff | 用户标识
blah1 | 1
blah2 | 2
itemID | 用户标识
1 | 1
1 | 2
2 | 1
3 | 1
4 | 2
5 | 1个
wieghts:
的itemId = 1 = 15 ITEMID = 2 = 10
UserID1总重量= 25
UserID2总重量= 10
你能不能用一个例子澄清? – SWeko 2011-04-07 08:59:53
将计算权重所需的所有输入都存储在数据库中吗?或者应用程序/客户端是否必须专门提供这些值? – MatBailie 2011-04-07 12:02:36
应用程序从外部计算权重。它不能从数据库中的信息计算。 – 2011-04-07 14:39:01