Я изо всех сил пытаюсь написать оператор SQL, который делает следующее: Захватите самые последние завершенные оценки группы пользователей.
- По одному на пользователя (различные
user_id
) - Из выбранной группы пользователей (
user_id
в массиве) - Только завершенные оценки (
type_name
не равно null) - Со всеми полями (использую позже)
Ближайшая попытка:
SELECT DISTINCT(user_id), assessments.*
FROM assessments
WHERE
user_id IN (1,2,3,4,5,10)
AND type_name IS NOT NULL
ORDER BY
created_at DESC,
user_id DESC
Текущая ошибка:
не удалось определить оператор равенства для типа json
On:
assessments.*
Я просмотрел много разных версий этого с различными ошибками, но я думаю, что эта должна работать, но, похоже, она пытается различаться на основе всех столбцов, а не только user_id
.
Мне бы очень хотелось, чтобы это работало в Rails, но, поскольку я не мог этого добиться, я подумал сначала заставить работать простой SQL.
ОБНОВЛЕНИЕ
Часть проблемы может заключаться в том, что у меня есть столбцы JSON для оценки. Но поскольку я использую отдельные только для user_id
, он должен игнорировать эти столбцы JSON.