Sql 如何在oracle中通过获取重复记录来获取组后的唯一记录
我正在尝试获取唯一记录,但获取重复记录如何防止此问题请帮助我代码如下:Sql 如何在oracle中通过获取重复记录来获取组后的唯一记录,sql,oracle,Sql,Oracle,我正在尝试获取唯一记录,但获取重复记录如何防止此问题请帮助我代码如下: 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
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
结果:
谢谢,因为我看到您提到的行没有重复,因为它们有不同的元素URL。 您可以从group by中排除元素_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
元素_url是不同的,那么这两行是如何重复的呢?我在结果集中没有看到重复项。请从GROUP BY中删除任何列,在您看来,这些列不是使行唯一的列的一部分。比如f.ElementUrl。但是使用没有聚合函数的groupby感觉有点错误。