una tabla sacar registros promedio ponderado minimo maximo ejemplos ejemplo contar consultas condicionados con agrupamientos agrupados mysql select average

mysql - tabla - sql contar registros agrupados



cómo seleccionar, promediar y clasificar en la tabla mysql (2)

tengo una mesa en mySql como en esta imagen

y quiero escribir una consulta cuyo resultado se agrupará por LECCIÓN columna, y agregará nueva fila que es el valor promedio de la columna LECCIÓN y suma los valores de la columna CNT ....
para esta consulta yo uso este

utilizo esta consulta pero da resultado como en la imagen 3 y no puedo ordenar por PERC en este caso

select no, STUD_ID,CLASS,LESSON, AVG(PERC) as PERC,SUM(CNT) as CNT from t_lesson where LESSON=''CHEM'' group by CLASS union all select no,STUD_ID,CLASS,''AVERAGE'' as LESSON, AVG(PERC) as PERC, SUM(CNT) as CNT from t_lesson where LESSON=''CHEM'' group by LESSON


no sé si estás buscando algo como esto:

SELECT fields_list, (field_to_modify + (SELECT AVG(average_field) FROM table2)) AS order_field FROM table1 WHERE your_conditions ORDER BY order_field;


Parece que está seleccionando todas las filas donde la lesson es CHEM , y luego quiere una fila adicional con el promedio del porcentaje. Qué tal si:

select * from ( -- this part gets all the "CHEM" rows select * from <your_table_name> where lesson = "CHEM" union -- this parts selects the aggregate row select NULL as `no`, NULL as `stud_id`, NULL as `class`, "average" as `lesson`, avg(percentage) as `perc`, sum(count) as `cnt` from <your_table_name> where lesson = "CHEM" ) q order by `perc` desc;

Tenga en cuenta que la clasificación es realizada por la consulta externa.