diff options
author | Dennis Kobert <dennis@kobert.dev> | 2020-03-02 17:05:35 +0100 |
---|---|---|
committer | Dennis Kobert <dennis@kobert.dev> | 2020-03-02 17:05:35 +0100 |
commit | 17a305d420c4fd88fcaabb479164e6095303f7fc (patch) | |
tree | 8a3dd58dfe0fe148fe80f508e9680b35a368fbe6 /src/serve.rs | |
parent | a1988e2352ac0df0ebc96594d39ed74ac98fd0a3 (diff) |
Improve ranking fuction
Diffstat (limited to 'src/serve.rs')
-rw-r--r-- | src/serve.rs | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/serve.rs b/src/serve.rs index ade84ca..edd0826 100644 --- a/src/serve.rs +++ b/src/serve.rs @@ -198,9 +198,17 @@ pub fn match_users(name1: String, name2: String) -> Result<String, status::NotFo for row in client .query( " - SELECT track_id FROM user_track where user_id = $1 - INTERSECT - SELECT track_id FROM user_track where user_id = $2 + SELECT track_id, SUM(score)/2 + FROM user_track + WHERE user_id IN ( + SELECT user_id + FROM suser + WHERE user_name = $1 + OR user_name = $2 + ) + GROUP BY track_id + HAVING COUNT(track_id) = 2 + ORDER BY SUM(score) DESC; ", &[&uid1, &uid2], ) |