Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.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 即使使用,也不存在任何结果_Mysql_Sql_Phpmyadmin - Fatal编程技术网

Mysql 即使使用,也不存在任何结果

Mysql 即使使用,也不存在任何结果,mysql,sql,phpmyadmin,Mysql,Sql,Phpmyadmin,我不明白为什么MySQL返回MySQL不生成记录,而我使用的是EXISTS,我愿意选择一个不生成记录的子查询: SELECT page_ID FROM ranks_update WHERE EXISTS ( SELECT * FROM ranks_update WHERE ranking_ID = 3 AND current_rank = 1 AND rating_time < '2012-08-05 02:57:5

我不明白为什么MySQL返回MySQL不生成记录,而我使用的是EXISTS,我愿意选择一个不生成记录的子查询:

SELECT  page_ID
    FROM ranks_update
    WHERE EXISTS (
    SELECT *
    FROM ranks_update
    WHERE ranking_ID = 3
        AND current_rank = 1
        AND rating_time < '2012-08-05 02:57:59'
        AND rating_time >= '2012-08-05 00:00:00'  
    GROUP BY page_ID
);

根据定义,EXISTS允许从不返回任何记录的查询中获取结果。到目前为止,在这种情况下,我总是得到NULL。

它返回该消息,因为没有匹配的记录。NULL是列的值。它与空返回集完全不同

如果有聚合函数,则空集将返回NULL。因此,以下内容将返回空值:

select max(Page_ID)
这将返回0:

select count(Page_ID)

子查询返回什么?我很乐意选择一个不生成记录的子查询。EXISTSaaa生成一个布尔值,在您的例子中为False。您可以在存在的地方替换。。。其中1=0,得到相同的结果。顺便说一句:子查询与主查询不相关。这是您的意图吗?好的,如果我的最终目的是对page\u iD的值进行测试,如选择如果page\u iD>10,1,'0。。如果存在..,我总是被迫使用MAX:SELECT如果MAXpage_ID>10,1,'0。。哪里有?是的,还是数一数。或者,您可以使用非常复杂的查询,但聚合是最简单的方法。