mysql 行转列(存储过程)
2016-07-06 23:07
393 查看
直接sql(自己抽离代码,无法和order by rand() 复用):
存储过程版本:
select shit from( select 要累加的字段, @tt:=CONCAT(@tt,',',a.要累加的字段) as shit from 某表 a,(select @tt:='') b ) c ORDER BY LENGTH(c.shit) desc limit 0,1
存储过程版本:
BEGIN DECLARE Is_End INT DEFAULT 0; DECLARE _str VARCHAR(50) DEFAULT ''; DECLARE _id INT; DECLARE _answer VARCHAR(50); DECLARE cur CURSOR FOR SELECT id,answer FROM question_library where id > 100 ORDER BY RAND() LIMIT 10; DECLARE CONTINUE HANDLER FOR NOT FOUND SET Is_End = 1; OPEN cur; FETCH cur INTO _id,_answer; WHILE Is_End != 1 DO SELECT CONCAT(_id,',',_str) INTO _str; FETCH cur INTO _id,_answer; END WHILE; CLOSE cur; SELECT left(_str,LENGTH(_str)-1) AS question; #去掉最后一个字符串“,” END
相关文章推荐
- MySQL复制表结构,表数据。
- MySQL取得当前时间的函数是什么 格式化日期的函数是什么
- 针对MYSQL delete、update、insert语句误操作时的恢复办法
- mysql 5.6
- mysql忘记密码怎么办?
- mysql基础---基础SQL语句
- Mysql 支持中文集合
- MySQL中的数据类型
- MYSQL 优化的笔记
- MYSQL 相关
- sorl6.0+jetty+mysql搭建solr服务
- mysql版本问题sql_mode=only_full_group_by
- mysql的partition分区
- 快速熟悉mysql新环境
- MySQL ndb Cluster备份与恢复
- mysql ndb cluster 安装
- mysql主从复制配置
- mysql源码安装
- MySQL的SELECT技巧大全
- Mysql优化系列(0)--总结性梳理