diff options
-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], ) |