none
Sacar Porcentaje de Tiempos RRS feed

  • Pregunta

  • Hola! tengo una pregunta deseo sacar el porcentaje de varios valores.

            Total Tiempo    Porcentaje
              00:38:40         8.35 %
              07:04:39        91.65 %
    Total   07:43:19       100.00 %   

    Son valores de Tiempo.

    Gracias por su ayuda.

    lunes, 16 de septiembre de 2019 21:03

Respuestas

  • Try

    -- código #1 v3
    --
    declare @sumSeconds int;
    SELECT @sumSeconds= sum (datediff (second, 0, Tiempo))  
      from Tiempos;

    --
    with Tot as (
    SELECT 1 as seq, Pos, Tiempo,
           cast ((100.0 * datediff (second, 0, Tiempo) / @sumSeconds)
                 as decimal(5,2)) as Porcentaje
      from Tiempos
    union all
    SELECT 2, cast ('Total' as sql_variant),
           cast (dateadd (second, @sumSeconds, 0) as time(0)), 100.00
    )
    SELECT Pos, Tiempo, Porcentaje
      from Tot
      order by seq, Pos;

     

    -- código #2
    CREATE TABLE Tiempos (Pos tinyint, Tiempo time(0));
    INSERT into Tiempos values (1, '00:38:40'), (2, '07:04:39');


    José Diz     Belo Horizonte, MG - Brasil     [query performance tuning: Porto SQL]


    Este conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita.

    • Editado José Diz lunes, 16 de septiembre de 2019 23:01
    • Marcado como respuesta Jupablacha18 martes, 17 de septiembre de 2019 15:46
    lunes, 16 de septiembre de 2019 22:41