SQLite
 sql >> Baza danych >  >> RDS >> SQLite

Jak działa SQLite Count()

SQLite count() funkcja może służyć do zwracania liczby wierszy w zestawie wyników.

Może być również użyty do zwrócenia, ile razy dana kolumna nie jest NULL w zestawie wyników.

Może być używany na dwa sposoby. Jeśli wpiszesz gwiazdkę (* ) symbol wieloznaczny, zwróci całkowitą liczbę wierszy w grupie. Jeśli podasz nazwę kolumny, zwróci ona ile razy ta kolumna nie jest NULL.

Składnia

Składnia wygląda tak:

count(X)
count(*)

W tym przypadku X może być nazwą kolumny i gwiazdką (* ) symbol wieloznaczny służy do określenia całkowitej liczby wierszy w grupie.

Przykład:liczba(*)

Oto podstawowy przykład demonstrowania składni gwiazdki (*), która zwraca liczbę wierszy w tabeli.

SELECT count(*) FROM Customer;

Wynik:

59

Uruchomiłem to zapytanie w przykładowej bazie danych Chinook, więc okazuje się, że w Klient jest 59 wierszy tabela.

Przykład:liczba(X)

W tym przykładzie przekazuję nazwę określonej kolumny tabeli.

SELECT count(Fax) FROM Customer;

Wynik:

12

W takim przypadku Faks kolumna ma 12 wartości innych niż NULL.

Innymi słowy, 47 wierszy zawiera wartość NULL w Faksie kolumna.

Korzystanie z klauzuli WHERE

Wynik count() jest obliczana po dowolnym WHERE klauzule.

SELECT count(Fax) 
FROM Customer 
WHERE CustomerId <= 5;

Wynik:

2

W tym przypadku w Faksie były tylko dwie wartości inne niż NULL kolumna w zestawie wyników.

Oto jak wyglądają wyniki ze zwróconymi kolumnami (i bez użycia count() funkcja).

SELECT CustomerId, Fax 
FROM Customer 
WHERE CustomerId <= 5;

Wynik:

CustomerId  Fax               
----------  ------------------
1           +55 (12) 3923-5566
2                             
3                             
4                             
5           +420 2 4172 5555  

Widzimy więc, że tylko wiersze 1 i 5 mają wartości inne niż NULL w Faksie kolumna.

Korzystanie z klauzuli LIMIT

Wynik nie jest obliczany po każdym LIMIT klauzula.

SELECT count(Fax) 
FROM Customer 
LIMIT 5;

Wynik:

12

Ale zamiast tego możesz zrobić coś takiego:

SELECT count(Fax) 
FROM (SELECT Fax FROM Customer 
LIMIT 5);

Wynik:

2

Wyniki zgrupowane

Jeden przydatny przypadek użycia dla count() jest użycie go w połączeniu z GROUP BY klauzula, tak aby zwracanych było wiele wierszy – każdy reprezentujący grupę – z liczbą wierszy w tej grupie.

Oto przykład.

SELECT 
  ar.Name, 
  count(al.Title)
FROM Album al
INNER JOIN Artist ar
ON ar.ArtistId = al.ArtistId
WHERE ar.Name LIKE 'D%'
GROUP BY ar.Name
LIMIT 10;

Wynik:

Name             count(al.Title)
---------------  ---------------
David Coverdale  1              
Deep Purple      11             
Def Leppard      1              
Dennis Chambers  1              
Djavan           2              
Dread Zeppelin   1              

DISTINCT Słowo kluczowe

Możesz dodać DISTINCT słowo kluczowe, aby liczyć tylko różne wartości. Innymi słowy, możesz usunąć zduplikowane wartości z obliczeń.

Aby zapoznać się z przykładami, zobacz Jak usunąć duplikaty z wyników SQLite Count().


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy identyfikator zasobu zmienia się przy każdym uruchomieniu aplikacji?

  2. Jak zainstalować najnowszą wersję Sqlite aar podczas korzystania z Room na Androidzie?

  3. Używanie String[] selectionArgs w SQLiteDatabase.query()

  4. SQLite - Aktualizuj dane

  5. Jak zaktualizować istniejące dane za pomocą SQLite