Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zapytanie używające group_concat zwraca tylko jeden wiersz

Ponieważ nie użyłeś GROUP BY klauzuli w zapytaniu. Podczas korzystania z funkcji agregujących, takich jak GROUP_CONCAT musisz poinformować bazę danych o kolumnie, za pomocą której chcesz połączyć dane.

Obecnie Twoje zapytanie grupuje wszystkie rekordy i daje 1 rekord w wyniku.

Jeśli dodasz GROUP BY users.userid w zapytaniu rekordy zostaną pogrupowane według unikalnych identyfikatorów użytkownika. Zaktualizowałem Twoje skrzypce i teraz dają 2 rekordy:http://www.sqlfiddle. com/#!2/867f6/18

Uwaga:W standardowych zapytaniach SQL kolumny wymienione w klauzuli GROUP BY powinny odpowiadać kolumnie w klauzuli SELECT (z wyjątkiem funkcji agregujących).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Używanie Pythona i MySQL w procesie ETL:Używanie Pythona i SQLAlchemy

  2. Kłopotliwe zachowanie arytmetyczne php/Mysql w czasie

  3. Import 1GO SQL File => ERROR 2013 (HY000) w wierszu 23:Utracono połączenie z serwerem MySQL podczas zapytania

  4. Jak dodać niestandardowe ograniczenie CHECK w tabeli MySQL?

  5. Jakie są największe korzyści z używania INDEKSÓW w mysql?