即使使用EXISTS也没有结果

时间:2012-08-05 16:29:47

标签: 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:59'
        AND rating_time >= '2012-08-05 00:00:00'  
    GROUP BY page_ID
);

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

1 个答案:

答案 0 :(得分:1)

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

如果你有一个聚合函数,那么空集返回NULL。因此以下内容将返回NULL值:

select max(Page_ID)

这将返回0:

select count(Page_ID)
相关问题