sql - 使用 oracle SQL 查找重复项
问题描述
我正在检查学生的考试成绩,并且有几个不同的感兴趣的表格。
STUDENTTEST 有 testID、test_date 和 studentID。STUDENTS 有 student_name,它有一个名为 ID 的变量,该变量链接到 STUDENTTEST 的 studentid。
我想找到有 testID 和 test_date 相同记录的学生。我希望能够有一个指向学生表的链接,这样我就可以看到哪些学生的名字有重复。
我希望这是有道理的!谢谢!
解决方案
您可以join
使用students
andstudent_tests
表,按学生、测试 ID 和测试日期分组,然后使用having
子句过滤以仅保留重复项:
select s.id, s.student_name, t.test_id, t.test_date, count(*) cnt_duplicates
from students s
inner join student_tests t on t.student_id = s.id
group by s.id, s.student_name, t.test_id, t.test_date
having count(*) > 1
推荐阅读
- c - 使用 while/if 在其中切换大小写会产生错误
- react-native - React Native resizeMode:'contain'不适用于expo?
- c# - 如何使用 SpreadsheetLight 选择要在 Excel 图表中显示的系列?
- azure - 如何使用 Python 从 Azure Data Lake Storage Gen2 中的事件中心访问捕获的数据
- r - 从文件名+1字符中提取字符
- .net - WSDL - 我可以控制发送到 Web 服务的 DateTime 格式吗?
- python - 更改 sns.heatmap 中特定标签的颜色?
- javascript - 如何在 JavaScript 中的数组上使用 setInterval?
- algorithm - 成员资格测试的内存有效方法
- javascript - 如何在javascript的地图函数中使用动态值?