Mysql if语句选择多行

标签 mysql select if-statement set case

如果条件为真,我需要检索一组数据,如果条件为假,我需要检索一组其他数据。

我在mysql手册中搜索并测试了select case when语句,但是由于我的子查询返回多行,所以我无法使用它。

使用 if 语句编写查询是一种简单的方法吗? (不使用存储过程)

这是我的情况:

select case when ( right(from_unixtime(300 * floor(unix_timestamp(now())/300)) - INTERVAL 10 MINUTE, 8) = '23:50:00' ) then ( select SERVER_KEY from OVERSERVER ) else ( select SERVER_KEY from SERVER  ) end;

谢谢

最佳答案

尝试这样的事情:

select SERVER_KEY from OVERSERVER
where right(from_unixtime(300 * floor(unix_timestamp(now())/300)) - INTERVAL 10 MINUTE, 8) = '23:50:00'
union all
select SERVER_KEY from SERVER
where right(from_unixtime(300 * floor(unix_timestamp(now())/300)) - INTERVAL 10 MINUTE, 8) != '23:50:00'

关于Mysql if语句选择多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19784304/

相关文章:

MySQL - 使用 LEFT JOIN 时未知列

php - Opencart 1.5.5.1 : Remove Hidden Products from Featured Module

reactjs - 单击三个按钮之一后如何显示特定按钮的内容?单击其中一个按钮后,应隐藏所有按钮

mysql - 获取/限制MySQL中每个唯一值的N个结果

php - 在 Eclipse 中下载 SVN 的 SQL 架构

mysql - 仅选择仅在两个 MySQL 数据库的每个表中出现的项目

php - php 中有什么方法可以使 SWITCH 运算符严格比较大小写吗?

mysql - SQL Plus 如果同一帐户没有两个不同的结果,如何只显示行

javascript - 在 JQuery 和执行函数中使用的 JSON 数组值

mysql - MySQL 查询中的 HAVING 和 WHERE 有什么区别?