5
Ho una tabella che assomiglia a questo:Come ruotare e calcolare le percentuali in 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 ;
voglio girare al largo della A/B/C e poi contare il numero di 2s e hanno la percentuale del totale del 2 è.
posso ottenere il numero di 2s con questa query
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;
Ma voglio davvero farlo sembrare come questo:
A B C
2 (40.0%) 1 (20.0%) 0
Come posso ottenere i totali e calcolare le percentuali?
Grazie!
La soluzione è stata accettata non restituisce il risultato corretto :( –
Ciao John, mi sono bloccato per qualche motivo Qui è stato il mio commento Hi Lamak, che.. usa il totale sbagliato per ricavare le percentuali. Per AI è necessario un totale di 5 quindi le percentuali del totale che sono 2 = 2/5 = 40% per B sarebbe 1/5 = 20% – user918967