Archive for the ‘GROUP_CONCAT’ tag
Unbekannte und nützliche MySQL-Funktionen
Auf der Suche nach einer schnelleren Möglichkeit Daten aus einer MySQL Tabelle auszulesen bin ich auf die MySQL-Funktion GROUP_CONCAT() gestossen. Wenn man beispielsweise eine kommaseparierte Liste aller Usernamen benötigt würde man normalerweise folgendes tun:
$usernames = array(); $result = mysql_query('SELECT Username FROM users ORDER BY UserId'); while ($row = mysql_fetch_assoc($result)) { $usernames[] = $row["Username"]; } echo join(',', $usernames);
Mit GROUP_CONCAT() kann man sich die Schleife sparen und erhält direkt einen kommaseparierten String (der Trenner kann natürlich geändert werden, siehe übernächstes Beispiel):