2011-04-08 84 views
3

亲爱的所有人,我想从1列中显示一行中的一些数据,也用逗号分隔。 如果我经常使用SELECT方法,它必须显示为长行。MySQL:如何显示以逗号分隔的1列的数据?

SELECT Serial_number FROM data 

+-------------+ 
|Serial_number| 
+-------------+ 
|0001   | 
|0002   | 
|0003   | 
+-------------+ //and so on 

我该怎么做,显示结果为:

+------------------------------+ 
|Serial_number     | 
+------------------------------+ 
|0001,0002,0003,....and so on | 
+------------------------------+ 

感谢提前。

+0

你是什么意思“*如果我做常规的SELECT方法,它必须显示为长行*”? – amosrivera 2011-04-08 02:49:12

+0

@amosrivera:对不起,如果我的问题不清楚,我编辑了我的问题。 – klox 2011-04-08 03:02:51

回答

5

您可以使用GROUP_CONCAT

SELECT GROUP_CONCAT(Serial_number) FROM data; 

注意:GROUP_CONCAT具有最大长度。

0
select concat(col1, ',' , col2, .....) from tbl; 
+0

认为你的意思是field1和field2:P – Khez 2011-04-08 02:49:54

+0

是的,对不起,现在已修复:P – Sourav 2011-04-08 02:51:03

+0

我只是想显示用1列中的逗号分隔的数据。不显示每列的数据。 – klox 2011-04-08 03:01:53

0

我想你可以使用类似phpmyadmin的,节省了SELECT语句文件,然后选择CSV作为文件类型..

+0

我不想转换为CSV,只是想显示用一列中的逗号分隔的数据。:-) – klox 2011-04-08 03:04:01

+0

你用什么来与你的数据库进行交互...... php?一个simpe选择呼叫做到这一点,然后用逗号内爆。 – 2011-04-08 03:07:03

0

你想要的是GROUP_CONCAT()

收益率:

0001,0002,0003,...