Document: SELECT DISTINCT ON
.
Good for getting unique rows from group of data. Contrived example of getting all unique student name and their test scores in a given exam:
sql = <<~SQL
SELECT students.name, t.name, t.score
FROM students
INNER JOIN (
SELECT DISTINCT ON (score) score, name
FROM tests
WHERE exam_id = :exam_id
ORDER BY tests.score DESC
) t ON students.id = t.student_id
ORDER BY t.score DESC
LIMIT 10
SQL
exam = Exam.last
connection = ActiveRecord::Base.connection
student_name_scores_in_exam =
connection.execute(sql, binds: { exam_id: exam.id }).values