summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDennis Kobert <dennis@kobert.dev>2020-03-02 17:05:35 +0100
committerDennis Kobert <dennis@kobert.dev>2020-03-02 17:05:35 +0100
commit17a305d420c4fd88fcaabb479164e6095303f7fc (patch)
tree8a3dd58dfe0fe148fe80f508e9680b35a368fbe6
parenta1988e2352ac0df0ebc96594d39ed74ac98fd0a3 (diff)
Improve ranking fuction
-rw-r--r--src/serve.rs14
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],
)