有时会有这样的需求,需要查询字段a相同的所有数据里面的ID最大的某个数据
比如说账单都是按时间插入的,我们要查询 洗脚 账单里面 最近更新 的那条的支付金额
一般来说,如果支付金额在数据库里面做了严格限制或者现实情况不可能出现更大的金额
假设不超过1000块
那么我们可以
select max(id*1000+金额) -max(id*1000) from table;
这就是我们需要的数据,这样查询就可以避免联表查最大ID了。
因为max(id*1000+金额)必定是最大的ID那条才可能取这个数据,减去 id*1000 自然就得到金额了
id之间最小差距是1,所以与ID相乘的应该大于金额,这样就可以保证无论如何,ID更大 id*1000+金额 就更大