From e2ad443425f49b1f9ce2eb0aed353c4fbb53eb54 Mon Sep 17 00:00:00 2001 From: PavelBegunkov <asml.Silence@gmail.com> Date: Mon, 4 May 2015 18:08:57 +0300 Subject: [PATCH] queries for student duplicates. --- db/duplicate.sql | 49 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 db/duplicate.sql diff --git a/db/duplicate.sql b/db/duplicate.sql new file mode 100644 index 000000000..a1f2cff3e --- /dev/null +++ b/db/duplicate.sql @@ -0,0 +1,49 @@ +# Выборка всех студентов, с повторяющимися именами +SELECT distinct st1.* +FROM students as st1 +WHERE ( + SELECT count(*) from students as st + where CONCAT( st.LastName, st.FirstName, st.SecondName ) + LIKE CONCAT( st1.LastName, st1.FirstName, st1.SecondName) + ) > 1 +ORDER BY LastName + + +# выборка всех оценок для студента (с учетом повторений) +SELECT students.ID AS "StudentID", students.LastName, rating_table . * + FROM students + LEFT JOIN rating_table ON rating_table.StudentID = students.ID + WHERE CONCAT( students.LastName, students.FirstName, students.SecondName ) LIKE ( + SELECT CONCAT( st.LastName, st.FirstName, st.SecondName ) + FROM students AS st + WHERE st.id =133 + ) +ORDER BY SubmoduleID + + + +# студенты, повторно привязанные к дисциплинам +SELECT students.ID as "StudentID", + students.LastName, + disciplines_students.ID as "disciplines_studentsID" +FROM students +left join disciplines_students on disciplines_students.StudentID = students.ID +WHERE CONCAT( students.LastName, students.FirstName, students.SecondName) LIKE ( + SELECT CONCAT( st.LastName, st.FirstName, st.SecondName ) + from students as st + where st.id = 133 + ) + + +# дублирование оценок +SELECT distinct st1.*, rating_table.SubmoduleID, count(*) as "cnt" +FROM students as st1 +LEFT JOIN rating_table on rating_table.StudentID = st1.ID +WHERE CONCAT( st1.LastName, st1.FirstName, st1.SecondName ) LIKE ( + SELECT CONCAT( st.LastName, st.FirstName, st.SecondName ) + FROM students AS st + WHERE st.id = # studentID + ) +GROUP BY st1.LastName, rating_table.SubmoduleID +ORDER BY cnt desc + -- GitLab