I have managed to show you how many data I have repeated but now I want to make a query to delete the records that have 5 repeated data: student_id, id_curso, semester finalnote and id_seccion.
select count(*),
uni_notas.id_alumno,
uni_notas.id_curso,
asd_personas.nombre,
uni_notas.notafinal,'introducir el código aquí'
uni_secciones.codigo,
uni_cursos.codigo,
uni_cursos.nombre,
uni_notas.semestre
from uni_notas
inner join uni_cursos
on uni_cursos.id = uni_notas.id_curso
inner join uni_alumnos
on uni_notas.id_alumno = uni_alumnos.id
inner join asd_personas
on asd_personas.id = uni_alumnos.id_persona
inner join uni_secciones
on uni_secciones.id = uni_notas.id_seccion
where uni_cursos.codigo in (select uni_cursos.codigo from uni_cursos where uni_cursos.codigo LIKE '%35%')
group by id_alumno, id_curso, notafinal, semestre, id_seccion
having count(1)>1
The script to create the original table is:
CREATE TABLE IF NOT EXISTS uni_notas (
id int(11) NOT NULL
, id_curso int(11) DEFAULT NULL
, id_seccion int(11) DEFAULT NULL
, id_alumno int(11) DEFAULT NULL
, creditos decimal(10,2) DEFAULT NULL
, semestre char(6) COLLATE utf8_unicode_ci DEFAULT NULL
, asistencia int(3) DEFAULT NULL
, zona int(3) DEFAULT NULL
, siglas char(3) COLLATE utf8_unicode_ci DEFAULT NULL
, exfinal int(3) DEFAULT NULL
, notafinal int(3) DEFAULT NULL
, recupera int(3) DEFAULT NULL
, tipo char(1) COLLATE utf8_unicode_ci DEFAULT NULL
, estado int(1) DEFAULT '1'
)