Encontrar el valor menos frecuente en una columna SIN ORDER BY SQL MariaDB.
Tengo un esquema de estudiantes matriculados en un nivel, la pregunta es encontrar el nivel que tenga la menor cantidad de estudiantes que estén en el año ‘2000/01’ y con el ID de programa ‘G500’, PERO no puedo usar ORDER BY
o LIMIT
. Esta es la mejor respuesta que pude encontrar.
SELECT lvl
FROM enrl
WHERE ayr = '2000/01'
AND pid = 'G500'
GROUP BY lvl
ORDER BY Count(*) DESC;
davy.ai
Esta consulta se acerca, pero viola la restricción de no usar
ORDER BY
oLIMIT
. Aquí hay un enfoque alternativo que cumple con los requisitos:Esta consulta utiliza una subconsulta para encontrar el recuento mínimo de estudiantes en todos los niveles en el año y programa especificados. Luego, compara el recuento para cada nivel en la cláusula
GROUP BY
de la consulta principal con esta cuenta mínima utilizando la cláusulaHAVING
. Solo se devuelven los niveles con el recuento mínimo. Tenga en cuenta que este enfoque es menos eficiente que el uso deORDER BY
oLIMIT
, por lo que puede no ser adecuado para conjuntos de datos grandes.