前几天在解题的过程中发现MYSQL提供了一个WHILE函式,不过从官方的文件照抄一直都有语法错误的问题,
https://dev.mysql.com/doc/refman/5.6/en/while.html
后来找到的解法是要改变分隔苻才能够使用,下面是可以正常跑的查询,不过很可惜的是跟我想要的结果不一样,
原本的需求是例如有10笔交易,希望第1笔能够跟第2笔做比较,第2笔跟第3笔如此类推......
想说把WHILE的结果放在WHERE当条件查询,不过实际跑起来会变成迴圈跑一次查一次,看起来比较适合做INSERT资料之类的,只能当成案例分享了~
DELIMITER $$DROP PROCEDURE IF EXISTS dowhile$$CREATE PROCEDURE dowhile()BEGINDECLARE v1 INT DEFAULT 1;WHILE v1 < 4 DOSELECT * FROM `my_table` WHERE `id` = v1;SET v1 = v1 + 1;END WHILE;END$$DELIMITER ;call dowhile();
喔对了如果有人有更进阶的用法或是知道我原本的需求怎么解也麻烦教教我