【问题标题】:MYSQL IF SELECT COUNT() Is greater that zero select * from table else return nothing foundMYSQL IF SELECT COUNT() 大于零 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 级别的结果......希望它很清楚......再次感谢!

标签: mysql select if-statement count where


【解决方案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 只会是空结果集,还不够吗?
    • 好的....我不能同意更多....感谢一百万次...这为我节省了大量的谷歌搜索时间.... [接受的答案]
    猜你喜欢
    • 2012-04-29
    • 2014-12-12
    • 2017-07-04
    • 2014-12-02
    • 1970-01-01
    • 2010-09-16
    • 2014-01-20
    • 2023-01-30
    • 2014-06-17
    相关资源
    最近更新 更多