Mogę wybrać wszystkie odrębne wartości w kolumnie na następujące sposoby:
SELECT DISTINCT column_name FROM table_name;
SELECT column_name FROM table_name GROUP BY column_name;
Ale jak uzyskać liczbę wierszy z tego zapytania? Czy wymagane jest podzapytanie?
Odpowiedzi:
Możesz użyć
DISTINCT
słowa kluczowego w ramachCOUNT
funkcji agregującej:Będzie to zliczać tylko odrębne wartości dla tej kolumny.
źródło
select A,COUNT(DISTINCT B) from table group by A
To da OBIETRZE odrębne wartości kolumn i liczbę każdej wartości. Zazwyczaj uważam, że chcę poznać obie informacje.
źródło
columnName
, otrzymujesz już odrębne wartości tylko raz, adistinct
słowo kluczowe nic tutaj nie robi. Wypróbuj zapytanie bez niego, zestaw wyników jest dokładnie taki sam.Pamiętaj, że Count () ignoruje wartości null, więc jeśli musisz zezwolić na wartość null jako własną odrębną wartość, możesz zrobić coś trudnego, na przykład:
źródło
case when my_col is null then 1 else my_col end
SELECT my_col, COUNT(my_col) + COUNT(CASE WHEN my_col IS NULL THEN 1 ELSE NULL END) as CountOf from my_Table GROUP BY my_col
count(*)
konkretnie liczba wierszy.Suma sql unikalnych wartości nazwa_kolumny i posortowana według częstotliwości:
źródło
To da liczbę odrębnych grup kolumn.
źródło
musisz policzyć tę odrębną kolumnę, a następnie nadać jej alias.
źródło
źródło
**
**
źródło
Możesz użyć tego zapytania, aby policzyć różne / różne dane. Dzięki
źródło
Po MS SQL Server 2012 możesz także użyć funkcji okna.
źródło
Liczba (odrębna ({nazwa pola})) jest zbędna
Wystarczy policzyć ({nazwa pola}) daje wszystkie odrębne wartości w tej tabeli. To nie będzie (jak wielu przypuszcza) po prostu da ci Count of the table [tj. NIE to samo co Count (*) z table]
źródło
count(field)
zwraca liczbę wierszy, w którychfield
jestnot null
.