十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
語句1:SELECT MAX(字段名+0) FROM table;
為景寧畬族自治等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及景寧畬族自治網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站建設(shè)、網(wǎng)站制作、景寧畬族自治網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
語句2:SELECT MAX(字段名) FROM table;
最大值,僅能查詢9999。
在mysql中使用group by進(jìn)行分組后取某一列的最大值,我們可以直接使用MAX()函數(shù)來實(shí)現(xiàn),但是如果我們要取最大值對(duì)應(yīng)的ID
那么我們需要取得整行的數(shù)據(jù)該怎么辦?
起初搜尋到的資料是這樣的:
首先按照 create_time 倒敘排序,然后分組,那么每個(gè)分組中排在最上面的記錄就是時(shí)間最大的記錄
但是結(jié)果不是這樣的,經(jīng)過搜集資料,得出需要在排序后邊加 limit 10000000000
如果不加的話,數(shù)據(jù)不會(huì)先進(jìn)行排序,通過 explain 查看執(zhí)行計(jì)劃,可以看到?jīng)]有 limit 的時(shí)候,少了一個(gè) DERIVED 操作。
用:select?MAX(id)?from?table?limit?0,1;
Mysql中數(shù)字類型字段可直接使用MAX()函數(shù),使用max函數(shù)查詢一個(gè)字符串類型的字段時(shí),因?yàn)樽址愋痛笮”容^是先比較首字符,然后依次往后進(jìn)行比較
如有數(shù)據(jù):10000,9999。使用max查出來的最大值并不是10000,而是9999
解決方法如下:max(id+0)
擴(kuò)展資料:
注意事項(xiàng)
MAX()函數(shù)
1、MAX()函數(shù)是求最大值的函數(shù);
eg:查詢張三的所有科目中的最高分
SELECT stuName,MAX(score) FROM t_grade WHERE stuName="張三";
2、與 GOUPE BY 關(guān)鍵字一起使用
eg:查詢所有學(xué)生分?jǐn)?shù)最高的成績(jī)
SELECT stuName,MAX(score) FROM t_grade GROUP BY stuName;
MIN()函數(shù)
1、MIN()函數(shù)是求最小值的函數(shù);
eg:查詢張三的所有科目中的最低分
SELECT stuName,MIN(score) FROM t_grade WHERE stuName="張三";
2、與 GOUPE BY 關(guān)鍵字一起使用;
eg:查詢所有學(xué)生分?jǐn)?shù)最低的成績(jī)
SELECT stuName,MIN(score) FROM t_grade GROUP BY stuName;