mysql 取最大值列的問題

2021-09-01 12:04:47 字數 579 閱讀 9124

需求: 查詢/更新某列(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...