Если у вас есть две таблицы, которые вы собираете для сбора данных, но хотите удалить дубликаты - как это сделать?oracle 11g - удалить дубликаты записей после присоединения
У меня есть две таблицы; Студент и курс
Студент может пройти курс более одного раза, но, спрашивая: «Сколько учеников прошли курс 123 в прошлом году» - вы не хотите считать этого студента более одного раза, хотя он может взяли этот курс несколько раз.
Пример кода:
select student_id
from student_table
join course_table using (student_id)
where course_id = 123
and date_taken between '01-JAN-14' AND '31-DEC-14'
Когда я запускаю это, я получаю некоторые студенты показ 2 или 3 раза, так как они, возможно, взяли курс 2 или 3 раза в течение этого периода времени (не удалось один раз или дважды, и повторить курс 2 или 3 раза).
Кроме того, есть ли способ их сортировки по алфавиту при отображении?
Спасибо! Я также обнаружил, что разные работы тоже. выбрать отдельный student_id from student_table join course_table using (student_id) где course_id = 123 и date_take между '01 -JAN-14 'AND '31 -DEC-14'; Любые идеи о том, почему нужно использовать группу или отдельную? Является ли более гибким, чем другой? Или это просто предпочтение? – johnnyjohnson123
Несомненно! для получения дополнительной информации: http://sqlmag.com/database-performance-tuning/distinct-vs-group – alfasin