Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL比较结果0和1_Mysql_Select_Compare - Fatal编程技术网

MySQL比较结果0和1

MySQL比较结果0和1,mysql,select,compare,Mysql,Select,Compare,我需要从两个选择中得到一个结果,并对它们进行比较 它们的值应返回0或1,如果其中一个值为1,则为1。 1的优先级始终高于0 这: 第一个返回0,第二个返回1,然后是1 第一个返回1,第二个返回0,然后是1 两者都返回1,显然是1 两者都返回0,最后是0 将两个表达式换行以返回最大值,如果其中一个为1,则返回1,如果两者都不是,则返回0: SELECT GREATEST(col1, col2) AS result 如果它跨越两个子选择: SELECT GREATEST( (SELECT co

我需要从两个选择中得到一个结果,并对它们进行比较

它们的值应返回0或1,如果其中一个值为1,则为1。 1的优先级始终高于0

这:

  • 第一个返回0,第二个返回1,然后是1
  • 第一个返回1,第二个返回0,然后是1
  • 两者都返回1,显然是1
  • 两者都返回0,最后是0

  • 将两个表达式换行以返回最大值,如果其中一个为
    1
    ,则返回
    1
    ,如果两者都不是,则返回
    0

    SELECT GREATEST(col1, col2) AS result
    
    如果它跨越两个子选择:

    SELECT GREATEST(
      (SELECT col1 FROM tbl1 WHERE val='something'),
      (SELECT col2 FROM tbl2 WHERE val='something else')
    ) AS result
    

    只需在另一个选择和使用或包装它。MySQL已经将1视为true,将0视为false

    试试这些:

    SELECT (SELECT 1) OR (SELECT 0) AS result
    // Returns 1
    
    SELECT (SELECT 0) OR (SELECT 0) AS result
    // Returns 0
    

    发布您的初始查询时,查询是否会返回多个1,这是如何处理的?否,它将始终为0或1。