在 sails.js 中按积分和注册日期获取用户排名
get user's rank by points and registration date in sails.js
如何通过积分和注册时间来获取用户排名?我试图通过相同的标准来获取用户并且它工作正常。
await User.find({
sort: {
rewardPoints: 0,
createdAt: 1
}
}).limit(limit);
现在我只想获得我的排名,但是这段代码没有给我正确的结果
await User.count({
createdAt: { "<" : user.createdAt },
rewardPoints: { ">=": user.rewardPoints },
});
我终于用 sql 查询做到了:
SELECT id
, firstName
, rank
FROM (
SELECT
*
, (@rank := @rank + 1) AS rank
FROM
user
CROSS JOIN(
SELECT
@rank := 0
)
AS
init_var_var
ORDER BY
user.rewardPoints DESC,
user.createdAt ASC
)
AS logins_ordered_ranked
WHERE
id = "${user.id}"
如何通过积分和注册时间来获取用户排名?我试图通过相同的标准来获取用户并且它工作正常。
await User.find({
sort: {
rewardPoints: 0,
createdAt: 1
}
}).limit(limit);
现在我只想获得我的排名,但是这段代码没有给我正确的结果
await User.count({
createdAt: { "<" : user.createdAt },
rewardPoints: { ">=": user.rewardPoints },
});
我终于用 sql 查询做到了:
SELECT id
, firstName
, rank
FROM (
SELECT
*
, (@rank := @rank + 1) AS rank
FROM
user
CROSS JOIN(
SELECT
@rank := 0
)
AS
init_var_var
ORDER BY
user.rewardPoints DESC,
user.createdAt ASC
)
AS logins_ordered_ranked
WHERE
id = "${user.id}"