我正试图在用户朋友之间找到用户的位置,但我不知道我该怎么做...
我有两张桌子。
表1:朋友(列出所有用户朋友)
表2:用户(列出所有用户)
我希望查询检查用户之间的用户位置。
因此,如果我有ID 1(有100个学分)和ID为2的朋友(有21个学分),查询会将我的职位列为1。
答案 0 :(得分:2)
您实际上并没有提供有关表格布局的大量信息,因此我无法提供一个非常具体的示例。我也害怕我不明白你的问题,但我会试一试......
首先,我假设您的用户表至少包含以下列:
id (PK)
credits
朋友表中包含以下列:
user (FK to users.id)
friend (FK to users.id)
现在,如果我理解你的问题,你想根据他们拥有多少学分来排名所有用户的朋友,所以:
SELECT u.id,u.credits
FROM friends AS f
JOIN users AS us ON f.friend = u.id
WHERE f.user = 1
ORDER BY u.credits DESC;
答案 1 :(得分:0)
为了获得这个位置,我建议使用PHP,而不是试图将它全部放在一个查询中。因此,获取像Flimzy描述的排序列表,并使用array_search等数组函数获取位置。