2011-02-10 554 views
1

在我的SQL查詢的一部分,在查詢結束時,我有這個MySQL查詢失敗

GROUP BY 
`Record`.`RecordID` 
ORDER BY 
`Record`.`RecordID` 

它正常工作,直到我的recordId空,然後MySQL查詢失敗。有周圍IFNULL的方式我不使用GROUP BY和ORDER BY

感謝

+0

失敗怎麼辦?你有錯誤嗎? – 2011-02-10 22:44:48

回答

0

你可以試試:

GROUP BY IFNULL(`Record`.`RecordID`,0) 

可以跳過ORDER BY,由於MySQL默認將整理基礎上, GROUP BY

+0

@cyberkiwi今天我看到的最糟糕的評論...你說沒記錄嗎? **「在MySQL中,GROUP BY用於排序」 ** http://dev.mysql.com/doc/refman/5.0/en/group-by-optimization.html – 2011-02-10 22:57:16

0

當你說失敗了,你是什麼意思?

如果我有表:

Value 
    a 
    b 
{null} 
    c 
    c 

,我運行查詢:

select value from table 
group by value 

你的結果是:

{null} 
a 
b 
c 

要擺脫空值:

select value from table 
group by value 
having value is not null 
0

我沒有看到GROUP BY和ORDER BY子句本身和如何引起的任何失敗。請不要只顯示你認爲已經損壞的部分,如果你知道的更好,你不需要在這裏問一下嗎?

添加IS NOT NULL過濾器刪除它們完全

WHERE `Record`.`RecordID` is not null 
GROUP BY 
`Record`.`RecordID` 
ORDER BY 
`Record`.`RecordID`