5
Tengo una tabla que tiene este aspecto:¿Cómo pivotar y calcular porcentajes en t-sql?
DECLARE @myTable TABLE (country varchar(max), code int)
INSERT @myTable
SELECT 'A', 1 UNION ALL
SELECT 'A', 1 UNION ALL
SELECT 'A', 1 UNION ALL
SELECT 'A', 2 UNION ALL
SELECT 'A', 2 UNION ALL
SELECT 'B', 1 UNION ALL
SELECT 'B', 1 UNION ALL
SELECT 'B', 1 UNION ALL
SELECT 'B', 1 UNION ALL
SELECT 'B', 2 UNION ALL
SELECT 'C', 1 UNION ALL
SELECT 'C', 1 UNION ALL
SELECT 'C', 1 ;
Quiero pivote de la A/B/C y luego contar el número de 2s y tienen el porcentaje del total del 2 es.
puedo obtener el número de 2s con esta consulta
DECLARE @mySecondTable TABLE (country varchar(max), code int);
INSERT @mySecondTable
SELECT * FROM @myTable
WHERE code=2;
SELECT [A], [B], [C]
FROM
(SELECT Country, code
FROM @mySecondTable) AS source
PIVOT
(
COUNT(code)
FOR Country IN ([A], [B], [C])) AS pvt;
Pero realmente quiero que se vea como esto:
A B C
2 (40.0%) 1 (20.0%) 0
¿Cómo puedo obtener los totales y calcular los porcentajes?
Gracias!
La solución que aceptó no devuelve el resultado correcto :( –
Hola Juan, tengo bloqueado por alguna razón Aquí estaba mi comentario Hola Lamak, Que.. usa el total incorrecto para hacer los porcentajes. Para AI necesita un total de 5, entonces los porcentajes del total que son 2 = 2/5 = 40% para B sería 1/5 = 20% – user918967