5
mam tabeli, która wygląda następująco:Jak przestawić i obliczyć wartości procentowe w 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 ;
że ma obracać się A/B/C, a następnie policzyć 2s i mają procentową całkowitą od 2 jest.
mogę uzyskać liczbę 2s z tego zapytania
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;
ale naprawdę chcę to wyglądać tak:
A B C
2 (40.0%) 1 (20.0%) 0
Jak mogę uzyskać sumy i obliczyć procenty?
Dzięki!
Rozwiązanie przyjęliście nie zwraca poprawny wynik :( –
Cześć Wojtek, mam zablokowany z jakiegoś powodu Tu był mój komentarz Hi Lamak, To.. W celu uzyskania wartości procentowych używa się niewłaściwej sumy. W przypadku AI potrzeba w sumie 5, więc wartości procentowe całości wynoszą 2 = 2/5 = 40% Dla B wynosiło 1/5 = 20% – user918967