前一段时间,学习了MYSQL,将一些比较常用的语句记录如下,以备以后查阅。
1、使用GROUP_CONCAT将列转换为用逗号分隔的字符串
SELECT TYPE,GROUP_CONCAT(NAME),GROUP_CONCAT(VALUE) FROM BaseInfo WHERE TYPE=1 GROUP BY TYPE;
2.当然分隔符还可以自定义,默认是以“,”作为分隔符,若要改为“|||”,则使用SEPARATOR来指定,例如:
SELECT TYPE,GROUP_CONCAT(NAME SEPARATOR '|||'),GROUP_CONCAT(CAST(VALUE AS CHAR) SEPARATOR '|||') FROM BaseInfo WHERE TYPE=1 GROUP BY TYPE;
3.除此之外,还可以对这个组的值来进行排序再连接成字符串,例如按id降序来排:
SELECT TYPE,GROUP_CONCAT(NAME ORDER BY NAME DESC SEPARATOR '|||'),GROUP_CONCAT(CONVERT(VALUE,CHAR) ORDER BY VALUE DESC) FROM BaseInfo WHERE TYPE=1 GROUP BY TYPE;