的MySQL查询力返回NULL

问题描述:

我有以下几点:的MySQL查询力返回NULL

SELECT q25, COUNT(q25) AS count, AVG (q1) AS q1 
FROM tresults WHERE id = 'Yes' AND date = 'MARCH2010' AND q25 = '1' 
GROUP BY q25 

目前,该查询返回MySQL returned an empty result set (i.e. zero rows).这是正确的 - 是有可能得到它返回NULL呢?

OR

是否有PHP事后处理这个问题的方式,如:

$resultprev = mysql_query($queryprev); 
if($resultprev == ''){ 
// do something 
} 
+1

为什么需要这个? – 2012-02-24 09:56:32

+0

这听起来像一个phpMyAdmin消息。你准确的需要零位? – JJJ 2012-02-24 09:56:57

+0

我需要这个,否则其他代码无法正确运行。我需要'q1'下的null。或者,之后可以处理,请参阅上面的编辑。谢谢。 – 2012-02-24 09:58:48

使用mysql_num_rows

$resultprev = mysql_query($queryprev); 
$num_rows = mysql_num_rows($resultprev); 
if($num_rows == 0){ 
    // 0 results ! 
} 

或者你可以工会空行:

SELECT q25, COUNT(q25) AS count, AVG (q1) AS q1 
FROM tresults WHERE id = 'Yes' AND date = 'MARCH2010' AND q25 = '1' 
GROUP BY q25 

UNION 

SELECT null, null as count, null as q1 
+0

回答字面问题,但似乎相当复杂的OP *实际*需要什么。 – JJJ 2012-02-24 10:00:00

+0

@Juhana在OP更新了他们的问题后,我已经更新了我的答案.... – ManseUK 2012-02-24 10:02:51

试试这个

if(mysql_affected_rows($res)) { 
    //your stuff 
} 

或SQL

SELECT (
    SELECT q25, COUNT(q25) AS count, AVG (q1) AS q1 
    FROM tresults WHERE id = 'Yes' AND date = 'MARCH2010' AND q25 = '1' 
    GROUP BY q25 

    UNION 

    SELECT null, null, null 

) AS x 
LIMIT 1