MYSQL IF SELECT COUNT() 大于零 select * from table else return nothing found

Posted

技术标签:

【中文标题】MYSQL IF SELECT COUNT() 大于零 select * from table else return nothing found【英文标题】:MYSQL IF SELECT COUNT() Is greater that zero select * from table else return nothing found 【发布时间】:2014-03-22 11:12:12 【问题描述】:

我正在寻找一种方法来进行如下查询:

mysql

示例:IF SELECT COUNT(column_XX) WHERE column_XX = value_XX FROM table_XX 大于零 (0) 然后 SELECT 一切或 SELECT * FROM that table_XX WHERE column_XX = value_XXreturn em> 所有数据 ...否则返回 '没有找到' 或只是零 (0)

简单来说,如果列中的所有值都大于零,我想从表列中选择所有数据,否则只选择值>=1 并返回所有值。

SINGLE QUERY中可以应用哪种魔法来完成它?...我真的卡住了,谢谢。

【问题讨论】:

你说的单查询,没有连接的查询是什么意思? 是的,对于关节或任何可以工作但不像 Query1: COUNT 然后 QUERY2: 在php 级别中选择...。COUNTSELECT 应该在 @ 执行987654332@ 级别我只需要PHP 级别的结果......希望它很清楚......再次感谢! 【参考方案1】:

这行得通吗!

SELECT * FROM test_enum;
+------+-------+----------+
| ID   | Name  | IsActive |
+------+-------+----------+
|    1 | Abdul | No       |
|    1 | Abdul | Yes      |
+------+-------+----------+
2 rows in set (0.00 sec)

SELECT * FROM test_enum WHERE EXISTS(SELECT * FROM test_enum WHERE IsActive = 'No') AND IsActive = 'No';
+------+-------+----------+
| ID   | Name  | IsActive |
+------+-------+----------+
|    1 | Abdul | No       |
+------+-------+----------+
1 row in set (0.00 sec)

【讨论】:

【参考方案2】:

你可以这样尝试:

SELECT * FROM table_XX
WHERE column_XX = (
  SELECT column_XX FROM table_XX 
  WHERE column_XX = value_XX GROUP BY column_XX HAVING COUNT(column_XX) > 0
)

【讨论】:

SUPER BRAIN!.... 只是一件事如何在这个战术中假定 IFELSE 结构? 我的意思是我将如何使用ELSEreturn (0)'没有找到' if @987654328 @ 是 < 1 在 DB 级别? @UniversalGrasp 只会是空结果集,还不够吗? 好的....我不能同意更多....感谢一百万次...这为我节省了大量的谷歌搜索时间.... [接受的答案]

以上是关于MYSQL IF SELECT COUNT() 大于零 select * from table else return nothing found的主要内容,如果未能解决你的问题,请参考以下文章

SELECT COUNT() 与 mysql_num_rows();

如何最好地从 Java/JDBC 中的 SQL 查询中检索 SELECT COUNT(*) 的结果 - Long?大整数?

mysql 大数据分页优化

mysql分页问题

实习MySQL-select count(*)和select count

Mysql 用SELECT count(*)效率高还是SELECT count(1)效率更高?