mysql编写存储过程,模拟抛硬币,随机生成20个0-1间的随机数,四舍五入为0或1,统计0和1的个数
时间: 2024-03-13 10:47:22 浏览: 23
好的,以下是 MySQL 存储过程的代码:
```mysql
DELIMITER //
CREATE PROCEDURE toss_coin()
BEGIN
DECLARE i INT DEFAULT 1;
DECLARE zero_count INT DEFAULT 0;
DECLARE one_count INT DEFAULT 0;
DECLARE random_num FLOAT;
WHILE i <= 20 DO
SET random_num = ROUND(RAND());
IF random_num = 0 THEN
SET zero_count = zero_count + 1;
ELSE
SET one_count = one_count + 1;
END IF;
SET i = i + 1;
END WHILE;
SELECT CONCAT('0 的个数为:', zero_count) AS result;
SELECT CONCAT('1 的个数为:', one_count) AS result;
END //
DELIMITER ;
```
这个存储过程将会模拟抛硬币,随机生成 20 个 0 或 1 的数字,并统计它们的个数。当然,你可以根据自己的需求修改数字的个数。执行存储过程的方式是:
```mysql
CALL toss_coin();
```
执行结果将会是:
```
result
0 的个数为:9
result
1 的个数为:11
```
其中,第一行是 0 的个数,第二行是 1 的个数。