summaryrefslogtreecommitdiff
path: root/src/serve.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/serve.rs')
-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],
)