Concatenate data from a query into a single row (Transpose)

Concatenate data from a query into a single row (Transpose)

Hold on Cowboy

This blog post is pretty old. Be careful with the information you find in here. It's likely dead, dying, or wildly inaccurate.

Let’s say you have a query that returns this

cert_id
---------
100
200
300
500
600

What I want is to have it return this in a query

cert_id
----------
100,200,300.500,600

After much searching on the topic of transpose, with some complex solutions offered, I stumbled onto the

GROUP_CONCAT

function in Mysql. https://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html

So my query looks like this /* Show Gift Cert numbers */ ( SELECT GROUP_CONCAT(cert_id) FROM ugiftcert_history uh WHERE so.entity_id = uh.order_id GROUP BY uh.order_id ) AS gc_numbers,

Onto greatness.