mysql 行转列(存储过程)
2023-09-11 14:16:39 时间
直接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加锁过程详解(3)-关于mysql 幻读理解
- 数据库表设计时一对一关系存在的必要性 数据库一对一、一对多、多对多设计 面试逻辑题3.31 sql server 查询某个表被哪些存储过程调用 DataTable根据字段去重 .Net Core Cors中间件解析 分析MySQL中哪些情况下数据库索引会失效
- 【MySQL高级】存储过程和函数
- MySQL存储过程【CREATE PROCEDURE 存储过程名(参数列表)】
- Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘ (2)
- mysql 存储过程 demo
- MySQL 存储过程
- mysql远程连接 Host * is not allowed to connect to this MySQL server
- 《MySQL DBA修炼之道》——1.6 存储引擎简介
- MYSQL存储过程基础入门教程
- mysql存储过程
- MySQL 存储过程
- mysql存储过程中传decimal值会自动四舍五入,没有小数
- MYSQL存储过程中 使用变量 做表名
- mysql中使用存储过程方法中的注意事项
- mysql存储过程变量的拼接
- Amoeba for MySQL 非常好用的mysql集群软件
- mysql存储过程,获取指定数据库的某个表的字段信息
- PostgreSQL通过mysql_fdw访问MySQL数据库
- MySQL的字符编码体系(一)——数据存储编码
- mysql 存储过程 演示样例代码
- 【MySQL】实验八 触发器与存储过程
- Go-MySQL-Driver:一个Go语言的轻量级极速的mysql驱动
- MySQL 存储过程入门 (一)
- MySQL-存储过程和函数