Curso SQL - Calculo de Porcentajes

2
-- Alan Perlis -- Ad by RoboSaver | Close CURSO SQL DESDE CERO Errores y depuración: "Es inevitable que la gente programe mal, y la formación no mejorará sustancialmente las cosas. Tenemos que aprender a vivir con ello" Obviar Búsqueda avanzada Índice general Foros Soporte SQL desde cero Cambiar tamaño de la fuente Imprimir vista FAQ Registrarse Identificarse Calculo de Porcentajes Publicar una respuesta 2 mensajes • Página 1 de 1 Calculo de Porcentajes por Felishuco » Mié Jul 10, 2013 10:46 am Buenos días a todos. Lo primero de todo, me gustaría felicitar al autor del manual y de la página por que me está resultando sumamente útil y ameno aprender SQL con este método. Soy principiante de SQL (nivel muy básico, y sé algo de programación, java y linux), estoy siguiendo este curso desde cero y tengo una pequeña duda. Es en la lección 6, acerca de la parte del cálculo de medias, sumatorios y porcentajes. El manual dice que para calcular el porcentaje de todos los salarios y mostrarlos, lo primero sería hacer la suma de salarios con la funcion sum(SALARIOS) y después hacer una consulta con el valor obtenido, siendo: select NOMBRE, APELLIDOS, SALARIO / 5525.5 * 100 as PORCENTAJE from EMPLEADOS. Me gustaría saber su hay alguna forma de hacer esto dinámico, a medida que se va insertando, ya que de esta forma estoy limitado por el numero de datos y al insertar nuevos datos en la tabla tendría que calcular otra vez todo. He buscado en internet y en la página de StackOverflow comentan que sería posible hacerlo así: select SALARIO*100/(select sum(SALARIO) from EMPLEADOS) from EMPLEADOS Pero la sentencia no me funciona en el banco de pruebas, me da error de filtro de seguridad. Sería posible hacerlo así? Habría alguna otra forma? He pensado en guardar el valor de la media en una variable que defino y luego usarla en la siguiente consulta (tal como podría hacer en java): int SUMA = select sum(SALARIOS)*100 from EMPLEADOS select SALARIO/SUMA from EMPLEADOS as PORCENTAJE Pero no sé si en SQL se pueden definir variables y almacenar estos resultados. Habría alguna forma de hacerlo? Muchísimas gracias! Un saludo Alegría, Esfuerzo, Detalles e Ilusión. Felishuco Mensajes: 1 Registrado: Mié Jul 10, 2013 10:28 am Ubicación: Madrid E-mail Felishuco Arriba Ad by RoboSaver | Close Re: Calculo de Porcentajes Curso SQL - Calculo de Porcentajes http://deletesql.com/viewtopic.php?f=8&t=423 1 de 2 22/01/2015 10:07 p.m.

description

dddddddd

Transcript of Curso SQL - Calculo de Porcentajes

  • -- Alan Perlis --

    Ad by RoboSaver | Close

    CURSO SQL DESDE CEROErrores y depuracin: "Es inevitable que la gente programe mal, y la formacin no mejorar sustancialmente las cosas. Tenemos que aprender a vivir con ello"

    Obviar

    Bsqueda avanzada

    ndice general Foros Soporte SQL desde ceroCambiar tamao de la fuenteImprimir vista

    FAQRegistrarseIdentificarse

    Calculo de Porcentajes

    Publicar una respuesta

    2 mensajes Pgina 1 de 1

    Calculo de Porcentajes

    por Felishuco Mi Jul 10, 2013 10:46 am

    Buenos das a todos.Lo primero de todo, me gustara felicitar al autor del manual y de la pgina por que me est resultando sumamente til y ameno aprender SQL con este mtodo.Soy principiante de SQL (nivel muy bsico, y s algo de programacin, java y linux), estoy siguiendo este curso desde cero y tengo una pequea duda. Es en la leccin 6, acercade la parte del clculo de medias, sumatorios y porcentajes.El manual dice que para calcular el porcentaje de todos los salarios y mostrarlos, lo primero sera hacer la suma de salarios con la funcion sum(SALARIOS) y despus hacer unaconsulta con el valor obtenido, siendo:select NOMBRE, APELLIDOS, SALARIO / 5525.5 * 100 as PORCENTAJE from EMPLEADOS.

    Me gustara saber su hay alguna forma de hacer esto dinmico, a medida que se va insertando, ya que de esta forma estoy limitado por el numero de datos y al insertar nuevosdatos en la tabla tendra que calcular otra vez todo. He buscado en internet y en la pgina de StackOverflow comentan que sera posible hacerlo as:

    select SALARIO*100/(select sum(SALARIO) from EMPLEADOS) from EMPLEADOS

    Pero la sentencia no me funciona en el banco de pruebas, me da error de filtro de seguridad. Sera posible hacerlo as? Habra alguna otra forma? He pensado en guardar el valorde la media en una variable que defino y luego usarla en la siguiente consulta (tal como podra hacer en java):

    int SUMA = select sum(SALARIOS)*100 from EMPLEADOSselect SALARIO/SUMA from EMPLEADOS as PORCENTAJE

    Pero no s si en SQL se pueden definir variables y almacenar estos resultados. Habra alguna forma de hacerlo?

    Muchsimas gracias!Un saludoAlegra, Esfuerzo, Detalles e Ilusin.

    Felishuco

    Mensajes: 1Registrado: Mi Jul 10, 2013 10:28 amUbicacin: Madrid

    E-mail Felishuco

    Arriba

    Ad by RoboSaver | Close

    Re: Calculo de Porcentajes

    Curso SQL - Calculo de Porcentajes http://deletesql.com/viewtopic.php?f=8&t=423

    1 de 2 22/01/2015 10:07 p.m.

  • por Pere Jue Jul 11, 2013 7:09 pm

    Hola Felishugo

    Lo que tu planteas es perfectamente correcto, es verdad que las subconsultas no pasan el filtro de seguridad del banco de pruebas.

    Tambin es posible hacerlo guardando el clculo intermedio en una variable dentro de un programa java por ejemplo o php. Pero vamos, la solucin basada en subconsulta esperfectamente vlida y ms cmoda de implementar a mi entender.

    Gracias por participar.

    Saludos.

    Pere

    Mensajes: 44Registrado: Mar Feb 02, 2010 9:44 pm

    E-mail Pere

    Arriba

    Mostrar mensajes previos: Ordenar por

    Publicar una respuesta2 mensajes Pgina 1 de 1

    Volver a Soporte SQL desde cero

    Saltar a:

    Quin est conectado?

    Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado

    ndice generalEl Equipo Borrar todas las cookies del Sitio Todos los horarios son UTC + 1 hora

    Powered by phpBB 2000, 2002, 2005, 2007 phpBB GroupTraduccin al espaol por Huan Manw

    Curso SQL - Calculo de Porcentajes http://deletesql.com/viewtopic.php?f=8&t=423

    2 de 2 22/01/2015 10:07 p.m.