需求: 查詢/更新某列(id) 最大值的行.
嘗試1:
select * from table where id =max(select max(id) from table); --可以通過
update table set name='new name' where id =max(select max(id) from table); --不能可以通過
不能通過原因 ,求解釋?
嘗試2: 通過使用者變數:(可行)
select @maxid :=max(id) from hchkpage;
update hchkpage set payeename = 'new name' where id =@maxid;
此方法可行, 侷限在資料庫客戶端, 在程式中不能使用.
通過參考mysql官方文件:
想到此方法:
update hchkpage set payeename='good' order by id desc limit 1;
:通過條件排序和使用limit限制查詢條數可取得最大行 ,執行更新.
總結: 遇到問題參考官方文件.
取多列資料的最大值 最小值 sql
實現方法 實現sql語句 最大 select key 0,greatest x,y,z as max from greatests 實現sql語句 最小 select key 0,least x,y,z as min from greatests greatest 函式返回在該組輸入引數 n1,n2...
佇列中取最大值操作問題
1 利用棧中o 1 的時間複雜度取最大值的思路,使用兩個棧構建乙個佇列 2 然後取出兩個棧中的較大者即為佇列的最大值。include include include using namespace std class satckmax else void pop datastack.pop maxs...
Mysql按欄位分組取最大值記錄
在實際工作中,我們經常碰到這樣的工作情況,取出使用者訂單中給定使用者的最大單筆購買金額,此時,可以用到mysql的按字段分組取最大值,操作如下 表 user order 結構如下,我的操作是取出uid對應的最大的buy time 方法0 select uid,max buy time from us...