10. februar 2014 - 20:31Der er
14 kommentarer og 1 løsning
count(distinct(VAR)) for hver værdi i en anden kolonne
Jeg har en tabel:
Number1 Number2 Number3 Name 1 1 1 A 1 2 3 A 2 4 2 B 3 3 3 A 3 5 2 D OSV
Jeg vil gerne lave en ny tabel hvor jeg tæller følgende op: 1) Hvor mange gange forekommer de forskellige værdier i 'Name' 2) Hvor mange gange forekommer de forskellige værdier i 'Name' med unikke numre i 'Number1' 3) Hvor mange gange forekommer de forskellige værdier i 'Name' med unikke numre i 'Number2'
Egentlig skal det bruges i SAS (hvor man også kan bruge SQL). Har fundet ud af at lave det, men det endte med en ret uelegant løsning. Tænker at det kan gøres med en kort stump SQL.
Cool. Det ser ud til at virke. Kan du hjælpe en novice med hvordan man får flettet #3 ind? Jeg ville egentlig også gerne sortere efter en kolonne 'year', kan det lade sig gøre?
SELECT year,name,COUNT(*) AS n,COUNT(DISTINCT number1) AS n_unik_number1,COUNT(DISTINCT number2) AS n_unik_number_2 FROM dintabel GROUP BY year,name ORDER BY year,name
Jamen fantastisk. Det virker. Du er en stjerne - igen. De få linjer har lige erstattet 100 linjer SAS-kode. Tusind tak!
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.