MS ACCESS: cálculo del rango en función de varios criterios
DJISA_70
Mensajes publicados
10
Estado
Miembro
-
yg_be Mensajes publicados 23437 Fecha de registro Estado Colaborador Última intervención -
yg_be Mensajes publicados 23437 Fecha de registro Estado Colaborador Última intervención -
Hola,
Tengo la tabla T_NOTE que contiene todas las notas por materia de todas las clases. Me gustaría en una consulta hacer el ranking en función de la materia y de la clase.
Configuración: Windows / Chrome 97.0.4692.99
Tengo la tabla T_NOTE que contiene todas las notas por materia de todas las clases. Me gustaría en una consulta hacer el ranking en función de la materia y de la clase.
Configuración: Windows / Chrome 97.0.4692.99
Enlaces relacionados:
- cálculo de acumulado en ACCESS
- [Access 2003] Búsqueda en campos de múltiples valores
- Access - El separador del campo de especificación es idéntico
- Función Access: número de un carácter en una cadena
- Crear varios PDFs a partir de un estado de Access
- Requisito de Access, función Replace en modo múltiple
10 respuestas
-
yg_be Mensajes publicados 23437 Fecha de registro Estado Colaborador Última intervención Embajador 1 588
hola,
quizásselect t1.id,t1.m, t1.c, t1.nt, count(t2.nt) +1 as cl from T_NOTE as t1 left join T_NOTE as t2 on t1.m=t2.m and t1.c=t2.c and t1.nt<t2.nt group by t1.id,t1.m, t1.c, t1.nt order by t1.c, t1.m, t1.nt desc
-
Hola yg_be!
¿Es m= materia, c= clase, nt= nota y id= PK de la tabla T_NOTE?
Gracias por la respuesta. Escuchamos la confirmación para intentar su consulta. -
Hola yg_be
En tu consulta intenté integrar la componente de alumno y tengo esto:
select t1.Note_id, t1.Eleve_id, t1.Matiere_id, t1.Classe_id, t1.Note, count(t2.Note) +1 as CL
from T_NOTES as t1 left join T_NOTES as t2
on t1.Eleve_id=t2.Eleve_id, t1.Matiere_id=t2.Matiere_id and t1.Classe_id=t2.Classe_id and t1.Note<t2.note group="" by="" t1.note_id="" t1.eleve_id="" t1.matiere_id="" t1.classe_id="" t1.note="" order="" desc="" mais="" une="" bo="" de="" dialogue="" m="" join="" non="" support="" pour="" y="" voir="" plus="" clair="" je="" vous="" donne="" les="" champs="" la="" table="" t_notes:="" note_id="" eleve_id="" classe_id="" matiere_id="" note="" /> -
-
La consulta, tal como la propusiste, funciona. También noto un campo llamado Expr1000 que hace referencia a los identificadores de las materias.
Pero me gustaría poder integrar la componente alumno. -
-
-
La requête que j'ai essayée donne le même rang partout
SELECT t1.Note_id, t1.Eleve_id, t1.Matiere_id, t1.Classe_id, t1.Note, Count(t2.Note)+1 AS cl
FROM T_NOTES AS t1
LEFT JOIN T_NOTES AS t2 ON (t1.Classe_id = t2.Classe_id) AND (t1.Matiere_id = t2.Matiere_id) AND (t1.Eleve_id = t2.Eleve_id)
GROUP BY t1.Note_id, t1.Matiere_id, t1.Classe_id, t1.Note, t1.Eleve_id
ORDER BY t1.Classe_id, t1.Matiere_id, t1.Note DESC;
La requête qui fonctionne mais sans la composante élève
SELECT t1.Note_id, t1.Matiere_id, t1.Classe_id, t1.Note, Count(t2.Note)+1 AS cl
FROM T_NOTES AS t1
LEFT JOIN T_NOTES AS t2 ON (t1.Classe_id = t2.Classe_id) AND (t1.Matiere_id = t2.Matiere_id)
GROUP BY t1.Note_id, t1.Matiere_id, t1.Classe_id, t1.Note
ORDER BY t1.Classe_id, t1.Matiere_id, t1.Note DESC; -
¡Hola!
Quiero decir que la consulta que propusiste el 02/02/2022 a las 11:33 funciona correctamente, pero no logro incorporar el campo Eleve_id. -