Как получить уникальные записи после группы, получив повторяющиеся записи в оракуле

Я пытаюсь получить уникальные записи, но получаю дубликаты, как предотвратить это, пожалуйста, помогите мне, код выглядит следующим образом:

SELECT a.EXAM_DEGREE_ID,a.MAJOR_GROUP_ID,a.INSTITUTION,a.BOARD,a.RESULT_GRADE,a.PASSING_YEAR,f.ELEMENT_URL
FROM student_acadimicinfo a
left join m00_lkpdata b on a.EXAM_DEGREE_ID=b.LKP_ID
left join m00_lkpdata c on a.MAJOR_GROUP_ID=c.LKP_ID
left join m00_lkpdata d on a.BOARD = d.LKP_ID
left join STUDENT_PERSONAL_INFO e on e.STUDENT_ID = a.STUDENT_ID
left join SKILL_DEV_ELEMENT f on f.APPLICANT_ID = e.APPLICANT_ID
WHERE a.STUDENT_ID ='341'
group by a.EXAM_DEGREE_ID,a.MAJOR_GROUP_ID,a.INSTITUTION,a.BOARD,a.RESULT_GRADE,a.PASSING_YEAR,f.ELEMENT_URL

Результат: Как получить уникальные записи после группы, получив повторяющиеся записи в оракуле

Спасибо

element_url отличается, так как эти 2 строки дублируются?

Zaynul Abadin Tuhin 15.11.2018 17:02

Я не вижу дубликатов в вашем наборе результатов.

Gordon Linoff 15.11.2018 17:02

Удалите из GROUP BY любой столбец, который не является частью столбцов, которые, по вашему мнению, делают строку уникальной. Например, f.ElementUrl. Но использование GROUP BY без агрегатных функций кажется немного неправильным.

Joakim Danielson 15.11.2018 17:07
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
1
3
43
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Как я вижу, строки, которые вы упомянули, не дублируются, поскольку у них разные ELEMENT_URL. Вы можете исключить ELEMENT_URL из группы и решить с помощью функции агрегирования, что отображать в этом поле. Например:

SELECT a.EXAM_DEGREE_ID,a.MAJOR_GROUP_ID,a.INSTITUTION,a.BOARD,a.RESULT_GRADE,a.PASSING_YEAR, max(f.ELEMENT_URL)
FROM student_acadimicinfo a
left join m00_lkpdata b on a.EXAM_DEGREE_ID=b.LKP_ID
left join m00_lkpdata c on a.MAJOR_GROUP_ID=c.LKP_ID
left join m00_lkpdata d on a.BOARD = d.LKP_ID
left join STUDENT_PERSONAL_INFO e on e.STUDENT_ID = a.STUDENT_ID
left join SKILL_DEV_ELEMENT f on f.APPLICANT_ID = e.APPLICANT_ID
WHERE a.STUDENT_ID ='341'
group by a.EXAM_DEGREE_ID,a.MAJOR_GROUP_ID,a.INSTITUTION,a.BOARD,a.RESULT_GRADE,a.PASSING_YEAR

Другие вопросы по теме