SQL - Consulta sql count por orden y eliminado datos inecessarios

 
Vista:
Imágen de perfil de Cesar
Val: 35
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Consulta sql count por orden y eliminado datos inecessarios

Publicado por Cesar (14 intervenciones) el 20/06/2019 21:59:06
Buenas tengo una tabla en PHPmyadmin de la que extraigo con una consulta having con count

el numero de asignaturas que se repiten y cuento las veces que se repiten . hasta hay todo bien

anexo imagen tabla , consulta SQL y resultado :

tabla-
Captura

consulta -

SELECT ASIGNATURA,COUNT(ASIGNATURA) AS TOTAL FROM parte GROUP BY 1 HAVING COUNT(ASIGNATURA) >= 1

resultado -

Captura1

y ya despues de intertar explicarme la pregunta jejejje

seria posible eliminar los resultados vacíos en asignatura y colocarlo todo por orden ascendente de la columna TOTAL

lo estoy intentando con where pero no lo consigo

Gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 11
Ha aumentado su posición en 9 puestos en SQL (en relación al último mes)
Gráfica de SQL

Consulta sql count por orden y eliminado datos inecessarios

Publicado por Jorge (3 intervenciones) el 20/06/2019 23:54:52
Segun entiendo quieres contar el numero de personas que hay por asignatura ,y omitir los que no tengan ninguna?

Podrias hacer algo como esto

select sum(contador) Total ,asignatura from (select 1 'contador',asignatura from parte where asignatura is not null and asignatura != '') t group by asignatura

En la primar consulta o la subconsulta,como prefieras verlo,creas un campo imaginario al que llamas contador y le das el valor de 1,lo que te devuelve todas las asignaturas(repetidas) con un campo con el valor 1,por lo que simplemente tienes que realizar un sum sobre ese resultado y agruparlos por asignatura. Esto te arrojaria un resultado como el siguiente:

consulta

No se si es lo que querias lograr pero es lo que entendi.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Cesar
Val: 35
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Consulta sql count por orden y eliminado datos inecessarios

Publicado por Cesar (14 intervenciones) el 21/06/2019 00:24:27
Funciona de maravilla
lo único me faltaría poder ordenarlos de mayor a menor por la columna de total
le pongo detras un order by asc y me lanza error

select sum(contador) Total ,asignatura from (select 1 'contador',asignatura from parte where asignatura is not null and asignatura != '') t group by asignatura order by asc

MySQL ha dicho: Documentación

#1064 - Algo está equivocado en su sintax cerca 'ASC LIMIT 0, 25' en la linea 1

Muchas gracias de antemano .
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 11
Ha aumentado su posición en 9 puestos en SQL (en relación al último mes)
Gráfica de SQL

Consulta sql count por orden y eliminado datos inecessarios

Publicado por Jorge (3 intervenciones) el 21/06/2019 00:29:02
Select * from (select sum(contador) Total ,asignatura from (select 1 'contador',asignatura from parte where asignatura is not null and asignatura != '') t group by asignatura ) t1 order by total asc limit 25
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Cesar
Val: 35
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Consulta sql count por orden y eliminado datos inecessarios

Publicado por Cesar (14 intervenciones) el 21/06/2019 00:49:49
Muchísimas gracias ahora funciona de maravilla,
Lo necesitaba asi para luego graficarlo
Ha quedado de 10

Muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar