You can study WINDOW functions to solve this issue.
; WITH mycte AS (
SELECT courseid, sjcode, courseno, sjversion,trainerid, tutorid, remark, students,
row_number()Over(PARTITION BY sjcode, courseno, sjversion ORDER BY newid()) rn
FROM course
)
SELECT courseid, sjcode, courseno, sjversion,trainerid, tutorid, remark,students
FROM mycte
WHERE rn = 1