Utwórz kwerendę, która policzy, ile jest niepowtarzających się imion. Zadanie rozwiąż na co najmniej dwa sposoby.
Baza: AdventureWorks2012, Tabela: Person.Person, Kolumna: FirstName, Wynik: 1018 rows
[spoiler title=’Rozwiązanie’ collapse_link=’true’]
- Z użyciem funkcji row_number i grupowaniem:
SELECT FirstName, ROW_NUMBER() OVER(ORDER BY FirstName) as nr
FROM Person.Person
GROUP BY FirstName
ORDER BY FirstName;
- Z użyciem funkcji dense_rank i distinct:
SELECT DISTINCT FirstName, DENSE_RANK() OVER(ORDER BY FirstName) as nr
FROM Person.Person
ORDER BY FirstName;
- Z użyciem tabeli pochodnej i row_number:
SELECT FirstName, ROW_NUMBER() OVER(ORDER BY FirstName) as nr
FROM ( SELECT DISTINCT FirstName FROM Person.Person ) as Tab
ORDER BY FirstName;
[/spoiler]