[英]How to get min value from a single row in mysql
我想知道如何從單行中獲取最小數值,例如:
我的桌子:
|col a|col b|col c|some other col|some other col|
-------------------------------------------------
| 13 | 2 | 5 | 0 | 0 |
問題是:如何從col a,col b和col c獲得最小值(我想忽略其他列。
我已經嘗試過:從表WHERE id = 0中選擇MIN(col a,col b,col c)
但這確實行不通。
任何幫助將不勝感激。
MySQL中的正確函數是least()
:
SELECT least(cola, colb, colc)
FROM table
WHERE id = 0;
非常重要:假設所有值都不為NULL。 如果您具有NULL
值,則least()
返回NULL
。
如果需要考慮到這一點,可以使用coalesce()
。 。 。 一種方法是使用最大值:
SELECT nullif(least(coalesce(cola, 999999), coalesce(colb, 999999), coalesce(colc, 999999)), 999999)
FROM table
WHERE id = 0;
或者,在列中的值上使用coalesce()
:
SELECT least(coalesce(cola, colb, colc), coalesce(colb, colc, cola), coalesce(colc, colb, cola))
FROM table
WHERE id = 0;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.