1
SELECT *
FROM myTable m
WHERE m.userId = :userId
AND m.X = (SELECT MAX(X)
FROM myTable m
WHERE m.userId = :userId
AND m.contactNumber = :contactNumber)";
問題是,如果沒有這樣的行並且語句未能執行,則語句的第二部分計算爲null。我希望在這種情況下結果爲空。在子查詢中處理null null
解決此問題的一種方法是執行昂貴的filesort(按順序),然後在代碼級別獲取必需的字段。任何更好的解決這個問題?
我的不好,不知道關於IFNULL(相當於mysql和hibernate中的sql server的ISNULL)。所以做了一些像X =(選擇IFNULL(max(X),'')) – r15habh