01 July 2013

Syntax Group_Concat dengan separator Enter/Carriage Return/Char(13)

Waktu nulis ini belum butuh, separator di data yang digabung, paling koma doang, itu simpel dengan query semacam dibawah ini, dari info mysql disini

mysql> SELECT student_name,
    ->     GROUP_CONCAT(DISTINCT test_score
    ->               ORDER BY test_score DESC SEPARATOR ' ')
    ->     FROM student
    ->     GROUP BY student_name;


Pas butuh, data dipisah dengan ENTER, atau CARRIAGE RETURN, supaya tiap data yang digabung ada di baris baru, eh, pakai sintax CHAR(13) seperti dibawah ternyata ditolak mentah mentah

mysql> SELECT student_name,
    ->     GROUP_CONCAT(DISTINCT test_score
    ->               ORDER BY test_score DESC SEPARATOR CHAR(13))
    ->     FROM student
    ->     GROUP BY student_name;

Untungnya ngulik dikit ketemu, group_concat ini mirip dengan concat, tipu tipu saja, char(13) nya bukan sebagai separator, tapi teman si kolom yang mau di concat, dan separatornya entri kosong '' saja, jadi sintaxnya seperti ini

mysql> SELECT student_name,
    ->     GROUP_CONCAT(DISTINCT test_score,CHAR(13)
    ->               ORDER BY test_score DESC SEPARATOR '')
    ->     FROM student
    ->     GROUP BY student_name;