1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
WITH ranked_ratings AS (
SELECT
user_id,
rating,
rating_date,
ROW_NUMBER() OVER (
PARTITION BY user_id, DATE(rating_date)
ORDER BY rating_date DESC
) AS rn
FROM ratings
)
SELECT
user_id,
rating,
rating_date,
DATE(rating_date) AS rating_day
FROM ranked_ratings
WHERE rn = 1;