MySQL中提供了一個非常有用的函數(shù)——MIN(IF()),它可以根據(jù)特定條件獲取最小值。
如果只使用MIN函數(shù),我們只能獲取整個數(shù)據(jù)集中的最小值。但是,如果我們想要獲取特定條件下的最小值,就要用到MIN(IF())了。它的使用方法如下所示:
SELECT MIN(IF(condition, value, NULL)) FROM table_name;
其中,condition表示我們的特定條件,value表示我們要獲取的值,table_name表示我們的數(shù)據(jù)表。
例如,我們有一張商品表,包含商品名稱、價格和庫存量。我們需要獲取庫存量不為0的商品中價格最低的商品的價格。
SELECT MIN(IF(stock != 0, price, NULL)) FROM products;
這條語句將返回符合條件(庫存量不為0)中價格最低的商品的價格。
除了使用MIN(IF())來獲取最小值,我們還可以使用MAX(IF())來獲取最大值。