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 【问题描述】:我正在寻找一种方法来进行如下查询:
示例:IF
SELECT COUNT(column_XX) WHERE column_XX = value_XX
FROM table_XX
大于零 (0
) 然后 SELECT
一切或 SELECT * FROM
that table_XX WHERE column_XX = value_XX
和 return em> 所有数据 ...否则返回 '没有找到' 或只是零 (0
)
简单来说,如果列中的所有值都大于零,我想从表列中选择所有数据,否则只选择值>=1 并返回所有值。
在SINGLE QUERY中可以应用哪种魔法来完成它?...我真的卡住了,谢谢。
【问题讨论】:
你说的单查询,没有连接的查询是什么意思? 是的,对于关节或任何可以工作但不像 Query1: COUNT 然后 QUERY2: 在php
级别中选择...。COUNT
和 SELECT
应该在 @ 执行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!.... 只是一件事如何在这个战术中假定IF
和 ELSE
结构?
我的意思是我将如何使用ELSE
到return
零 (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?大整数?