MySQL 取一行數據中的最大和最小值


 

以下使用MySQL原生函數GREATEST和LEAST獲取一行數據中的最小和最大值。

GREATEST(value1,value2,...)

 

具有兩個或多個參數,返回最大(最大值)的參數。使用與相同的規則比較參數 LEAST()。

 

mysql> SELECT GREATEST(2,0);
-> 2
mysql> SELECT GREATEST(34.0,3.0,5.0,767.0);
-> 767.0
mysql> SELECT GREATEST('B','A','C');
-> 'C'


GREATEST()NULL如果參數為,則 返回 NULL。

 

LEAST(value1,value2,...)

具有兩個或多個參數,返回最小(最小值)的參數。使用以下規則比較參數:

  • 如果有任何參數NULL,則結果為NULL無需比較。

  • 如果所有參數都是整數值,則將它們作為整數進行比較。

  • 如果至少一個參數為雙精度,則將它們作為雙精度值進行比較。否則,如果至少一個參數是一個 DECIMAL值,則將它們作為DECIMAL 進行比較

  • 如果參數包含數字和字符串的混合,則將它們作為數字進行比較。

  • 如果任何參數是非二進制(字符)字符串,則將參數作為非二進制字符串進行比較。

  • 在所有其他情況下,將參數作為二進制字符串進行比較。

返回類型LEAST()是比較參數類型的聚合類型。

mysql> SELECT LEAST(2,0);
        -> 0
mysql> SELECT LEAST(34.0,3.0,5.0,767.0);
        -> 3.0
mysql> SELECT LEAST('B','A','C');
        -> 'A'

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM