sql >> Databáze >  >> RDS >> Mysql

Jak získat počítané hodnoty s oddělovačem čárky jako hodnotu jednoho řádku

Funkce, kterou hledáte, je GROUP_CONCAT . Viz dokumentace:

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

Ve vašem příkladu můžete vytvořit ještě jeden poddotaz (příklad níže). Nebo JOIN standardním způsobem k původnímu dotazu.

...
(
      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,
...

Všimněte si komentáře k NULL zpracování v GROUP_CONCAT . Pokud chcete zobrazovat nuly, když nejsou přítomni žádní hráči, možná budete chtít použít COALESCE(GROUP_CONCAT(gtp.id), 0) místo toho.




  1. Jak používat uživatelské proměnné v klauzuli LIKE MySQL?

  2. Replikace MySQL s ProxySQL na serverech WHM/cPanel:Část druhá

  3. ORA-01097

  4. Sledování aktualizací synchronních statistik