MYSQL如果SELECT COUNT()大于零,则从表else中选择*将不返回任何内容
我正在寻找一种方法来进行如下查询: Mysql: 示例:MYSQL如果SELECT COUNT()大于零,则从表else中选择*将不返回任何内容,mysql,select,if-statement,count,where,Mysql,Select,If Statement,Count,Where,我正在寻找一种方法来进行如下查询: Mysql: 示例:如果选择COUNT(column_XX),其中表_XX中的列_XX=value_XX大于零(0),则选择所有内容或从表_XX中的列_XX=value_XX中选择*并返回所有数据。。。否则返回'nothing found'或零(0) 简单地说,如果一个表列中的所有值都大于零,我想从该列中选择所有数据,否则只选择值>=1并返回所有值 在这里,哪种魔法可以在一个单一查询中实现?。。。非常感谢。您可以这样尝试: SELECT * FROM tabl
如果选择COUNT(column_XX),其中表_XX中的列_XX=value_XX
大于零(0
),则选择所有内容或从表_XX中的列_XX=value_XX
中选择*并返回所有数据。。。否则返回'nothing found'或零(0
)
简单地说,如果一个表列中的所有值都大于零,我想从该列中选择所有数据,否则只选择值>=1并返回所有值
在这里,哪种魔法可以在一个单一查询中实现?。。。非常感谢。您可以这样尝试:
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
)
这样行吗
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)
你所说的单次查询是什么意思,一个没有连接的查询?是的,有连接或者任何可以工作的东西,但不象Query1:COUNT然后QUERY2:Select在PHP
级别。。。。COUNT
和SELECT
应该在DB
级别执行,我只需要PHP
级别的结果……希望清楚。。又来了!超级大脑!。。。。有一件事,在这种策略中,IF
和ELSE
结构如何被假定?我的意思是,我将如何使用ELSE
返回零(0)
或“未找到”如果计数是@universalgrass,它将只是一个空的结果集,这还不够吗?好的。。。。我完全同意。。。。万分感谢。。。这为我节省了大量的谷歌搜索时间。。。。[接受的答复]