fix: count distinct movies per user in users list, not total reviews

This commit is contained in:
2026-05-04 21:10:32 +02:00
parent 790bb6fbb5
commit 317898d51b
2 changed files with 3 additions and 3 deletions

View File

@@ -1,6 +1,6 @@
{ {
"db_name": "SQLite", "db_name": "SQLite",
"query": "SELECT u.id,\n u.email,\n COUNT(r.id) AS \"total_movies!: i64\",\n AVG(CAST(r.rating AS REAL)) AS avg_rating\n FROM users u\n LEFT JOIN reviews r ON r.user_id = u.id\n GROUP BY u.id, u.email\n ORDER BY u.email ASC", "query": "SELECT u.id,\n u.email,\n COUNT(DISTINCT r.movie_id) AS \"total_movies!: i64\",\n AVG(CAST(r.rating AS REAL)) AS avg_rating\n FROM users u\n LEFT JOIN reviews r ON r.user_id = u.id\n GROUP BY u.id, u.email\n ORDER BY u.email ASC",
"describe": { "describe": {
"columns": [ "columns": [
{ {
@@ -34,5 +34,5 @@
true true
] ]
}, },
"hash": "41273bd5f2ad4e86bb2f60d7b3144279f2ae77a95a8ea61bbf3dbfef2d861dd8" "hash": "f259059d76f29cade94e249735d37ef4993fe5bff095dc43e681b848a398f318"
} }

View File

@@ -104,7 +104,7 @@ impl UserRepository for SqliteUserRepository {
UserSummaryRow, UserSummaryRow,
r#"SELECT u.id, r#"SELECT u.id,
u.email, u.email,
COUNT(r.id) AS "total_movies!: i64", COUNT(DISTINCT r.movie_id) AS "total_movies!: i64",
AVG(CAST(r.rating AS REAL)) AS avg_rating AVG(CAST(r.rating AS REAL)) AS avg_rating
FROM users u FROM users u
LEFT JOIN reviews r ON r.user_id = u.id LEFT JOIN reviews r ON r.user_id = u.id