Estás en: Inicio >> Foros >> Informática >> Programación
Programación /

[mySQL] Operaciones entre Campos de una misma consulta

Participa en el tema [mySQL] Operaciones entre Campos de una misma consulta en el foro Programación.
Hola a todos alguien sabe como operar con los resultados de una misma consulta en ...

Buscar en este tema:
 
  •  
    #1 [mySQL] Operaciones entre Campos de una misma consulta
    Hola a todos alguien sabe como operar con los resultados de una misma consulta en otro campo???? ejemplo.

    select count(*) as "CUENTA", avg(totaltime) as "AVG Time",
    (sum(totaltime>1000) as ">1000" ,
    (sum(totaltime>2000) as ">2000"
    from
    unaTabla
    group by
    date(timetracker)


    el resultado de esto me muestra
    CUENTA | AVG Time | >1000 | >2000
    200 2.32 50 150

    yo quiero que los campos >1000 | >2000 me los mueste en porcentaje segun el campo CUENTA es decir

    el resultado que quiero es
    CUENTA | AVG Time | >1000 | >2000
    200 2.32 25 75

    donde 25 y 75 son % de hacer (50/200)*100 y (75/200)*100
    +
     
    0
    Me gusta
     
    http://www.psicofxp.com/forums/programacion.313/837873-mysql-operaciones-entre-campos-misma-consulta.html
    | Más
  • #2 Re: Operaciones entre Campos de una misma consulta

    ¿No anda con
    ... ( loquesea / COUNT(*) ) * 100 ...
    ?
    Me gusta este mensaje
  • #3 Re: Operaciones entre Campos de una misma consulta

    Crea un procedure y realiza las acciones que necesites... Enviele el parametro y listo...

    Para masinfo
    http://dev.mysql.com/doc/refman/5.0/...procedure.html
    Me gusta este mensaje
  • #4 Re: Operaciones entre Campos de una misma consulta

    Hace select anidados.
    Tu SELECT acutual iria con un alias en al FROM del SELECT externo y listo.

    Algo asi:

    SELECT t.CUENTA, t."AVG Time", (t.">1000" / t.CUENTA)*100 AS ">1000", (t.">2000" / t.CUENTA)*100 AS ">2000"
    FROM
    (select count(*) as "CUENTA", avg(totaltime) as "AVG Time",
    (sum(totaltime>1000) as ">1000" ,
    (sum(totaltime>2000) as ">2000"
    from
    unaTabla
    group by
    date(timetracker) ) AS t

    Ojo con los alias, cambialos, lo que hice creo que te va a dar erros porque se repiten
    Me gusta este mensaje
Estás en: Inicio >> Foros >> Informática >> Programación


Estadísticas del tema
  • 3 RESPUESTAS
  • 1297 VISTAS
  • 4 USUARIOS RESPONDIERON
 
Ir arriba
Contacto | Acerca de | Ayuda | Términos Legales | privacidad | Pautas de convivencia | Mapa de los foros | TrabajÁ con nosotros
©2008 Psicofxp.com S.A. - Todos los derechos reservados
Certifica IAB