MySql中如何连接一列字符串

GROUP_CONCAT(expr)的完整语法如下:GROUP_CONCAT([DISTINCT]expr[,expr...][ORDERBY{unsigned_integer|col_name|formula[ASC|DESC][,col...]][SEPARATORstr_val])这个功能是在MySQL4.1中添加的。
该函数返回一个字符串结果,包括组中值的串联:mysql>SELECTstudent_name,->GROUP_CONCAT(test_score)->FROMstudent->GROUPBYstudent_name;ormysql>SELECTstudent_name,->GROUP_CONCAT(DISTINCTtest_score->ORDERBYtest_scoreDESCSEPARATOR"")->FROMstudent->GROUPBYstudent_name;在MySQL中,您可以获得表达式组合的串联值。
可以使用DISTINCT消除重复值。
如果要对结果中的值进行排序,可以使用ORDERBY子句。
要逆序排序,可以在ORDERBY子句中用于排序的列名后面添加关键字DESC(降序)。
默认为升序;这也可以使用ASC关键字显式指定。
SEPARATOR是用于插入结果值的字符串值。
默认为逗号(“,”)。
您可以通过指定SEPARATOR""来完全删除此分隔符。
在您的配置中,通过group_concat_max_len变量设置最大长度。
运行时执行的语法如下:SET[SESSION|GLOBAL]group_concat_max_len=unsigned_integer;如果设置了最大长度,则结果值将被截断为该最大长度。
GROUP_CONCAT()函数是SybaseSQLAnywhere支持的高级基本LIST()函数。
如果只有一列并且没有指定其他选项,GROUP_CONCAT()向后兼容极其有限的LIST()函数。

mysql数据库中字符串拼接问题

mysql不能直接运行动态sql语句,但可以将其写成存储过程,然后调用执行该过程,如下所示:

(1)定义一个存储过程,例如:

创建EDEFINER=`root`@`localhost`过程`query_extra_table`(table_indexvarchar(255))BEGINSET@sql=concat("select*fromtbl_order_",table_index);从@sql准备stmt;TEstmtEND

(2)调用存储过程:

CALLquery_extra_table('483')