我的程序:(这是一个方案)
delimiter //
CREATE PROCEDURE get_random_data()
BEGIN
Declare Count_a INT;
SELECT Floor(Count(`id_x`) * Rand()) INTO Count_a From `x_data` Where `ok_w` = 1 And `active` = 2 And `time` >= Unix_timestamp();
# Now We select Some Rows
SELECT `id_x` From `x_data` Where `spec` = 1 Limit Count_a,3;
# And if Count of this select is small than < 3
IF(row_count() < 3) then
SELECT `id_anonsu` From `x_data` Where `spec` = 0 Limit Count_a,2;
END IF ;
END//
delimiter ;
//目标
如何从两个查询中获取结果? //if 语句之前的查询中的一个
//语句中的第二个查询,如果第一个查询计数小于 3
最佳答案
这取决于您使用的客户端界面。例如,JDBC 有statement.getMoreResults()
有趣的是,查询同时包含分隔符//和//注释。
关于MySQL,存储过程,如何从两个查询中获取结果,更新解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13888266/