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

Jak Group_Concat() działa w SQLite

SQLite ma funkcję group_concat() funkcja, która umożliwia łączenie wielu wyników zwróconych dla kolumny w jeden.

Jest to czasami określane jako „agregacja ciągów”.

Na przykład podczas wykonywania zapytania do bazy danych, zamiast wyświetlania wartości każdej kolumny w nowym wierszu, możesz użyć group_concat() aby były wyświetlane jako lista oddzielona przecinkami.

Składnia

Możesz użyć tej funkcji na jeden z następujących sposobów:

group_concat(X)
group_concat(X,Y)

Innymi słowy, group_concat() funkcja może być używana z jednym lub dwoma argumentami.

Drugi argument określa znak, który ma być użyty jako separator. Jeśli tego nie określisz, przecinek (, ) będzie używany jako separator.

Przykład z jednym argumentem

Oto przykład wywołania group_concat() z jednym argumentem.

SELECT group_concat(FirstName)
FROM Employee;

Wynik:

Andrew,Nancy,Jane,Margaret,Steve,Michael,Robert,Laura

Gdybym nie użył group_concat() aby połączyć tę kolumnę, wyniki wyglądałyby tak:

SELECT FirstName
FROM Employee;

Wynik:

Andrew    
Nancy     
Jane      
Margaret  
Steve     
Michael   
Robert    
Laura    

Użyj niestandardowego separatora

Jak wspomniano, masz możliwość określenia, który znak ma być używany jako separator.

Oto przykład określenia symbolu potoku (| ) jako separatora.

SELECT group_concat(FirstName, '|')
FROM Employee;

Wynik:

Andrew|Nancy|Jane|Margaret|Steve|Michael|Robert|Laura

Oto kolejny, który używa przecinka, ale dodaje również spację po prawej stronie przecinka.

SELECT group_concat(FirstName, ', ')
FROM Employee;

Wynik:

Andrew, Nancy, Jane, Margaret, Steve, Michael, Robert, Laura

Pogrupuj wyniki

Możesz zwrócić wiele kolumn i użyć GROUP BY klauzulę, aby odpowiednio je pogrupować.

Oto przykład.

SELECT ArtistId, group_concat(AlbumName) 
FROM Albums 
GROUP BY ArtistId LIMIT 10;

Wynik:

ArtistId  group_concat(AlbumName)                                                   
--------  --------------------------------------------------------------------------
1         Powerslave,Somewhere in Time,Piece of Mind,Killers,No Prayer for the Dying
2         Powerage                                                                  
3         All Night Wrong,The Sixteen Men of Tain                                   
4         Big Swing Face                                                            
5         Ziltoid the Omniscient,Casualties of Cool,Epicloud                        
6         Singing Down the Lane                                                     
7         Long Lost Suitcase,Praise and Blame,Along Came Jones                      
9         No Sound Without Silence                                                  
12        Blue Night,Eternity,Scandinavia                                           

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wyświetl zawartość pliku bazy danych w Android Studio

  2. błąd podczas wstawiania android.database.sqlite.sqliteconstraintexception kod błędu 19 ograniczenie nie powiodło się

  3. java.lang.IllegalArgumentException:kolumna '_id' nie istnieje

  4. Jak korzystać z polecenia zrzutu SQLite

  5. Jak działa Typeof() w SQLite