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

Jak uzyskać zliczone wartości z separatorem przecinków jako wartość pojedynczego wiersza?

Funkcja, której szukasz to GROUP_CONCAT . Zobacz dokumentację:

http://dev.mysql .com/doc/refman/5.7/en/group-by-functions.html#function_group-concat

W swoim przykładzie możesz po prostu utworzyć jeszcze jedno podzapytanie (przykład poniżej). Lub JOIN go w standardowy sposób do oryginalnego zapytania.

...
(
      SELECT GROUP_CONCAT(gtp.id)
          FROM game_table_players gtp
          LEFT JOIN game_rounds gr ON gr.id = gtp.game_round_id
      WHERE gt.id = gtp.game_table_id
          AND gtp.quit<>1 AND gr.finish=0
) AS players,
...

Zwróć uwagę na komentarz do NULL obsługa w GROUP_CONCAT . Jeśli chcesz pokazywać zera, gdy nie ma żadnych graczy, możesz użyć COALESCE(GROUP_CONCAT(gtp.id), 0) zamiast tego.




  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 php może przeszukiwać wyniki poprzedniego zapytania?

  2. podczas inicjowania PDO - czy powinienem zrobić:charset=UTF8 czy charset=UTF8MB4?

  3. Całkowicie usuń MySQL Ubuntu 14.04 LTS

  4. Dlaczego mój PDO nie działa?

  5. R- Znaki specjalne nie są wstawiane w mysql