MySQL,存储过程,如何从两个查询中获取结果,更新解决方案

标签 mysql stored-procedures count rowset

我的程序:(这是一个方案)

  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/

相关文章:

mysql - 选择带有日期的查询错误

mysql - 在一个查询中从两个不同的表中获取数据

debugging - 如何在 Sybase ASE 中调试存储过程?

c++ - 如何计算 C++ 数组中高于平均值的值?

c# - 如何使用 C# 从客户端访问 MySQL 数据库

mysql - 使用SQL语句获取考勤记录

sql-server - 如何在SSIS中调用存储过程?

sql-server - SQL存储过程和错误处理

mysql - 计算和分组 MySQL 中的非空值

mysql - 如何在 MySQL 中排除周末和节假日日期并查找预期日期?