Your Question
如题,我司将 mysql 数据库当了时序数据用,数据简化结构包含了
id(自增主键,int),
deviceID(设备ID,varchar(255)),
value(值,varchar(255)),
createTime(创建时间,datetime),
opcTime(opc服务器时间,datetime),
sensorTime(传感器给时间,datetime)
现在想获取某个传感器的最新值,测试了以下语句
// 这种返回是对的
db.Debug().Table(tableName).Where("deviceParaId = ?", deviceID).Last(&data)
// 这种返回不是对的
db.Debug().Table(tableName).Where("deviceParaId = ?", deviceID).Order("id asc").Last(&data2)
请问这两句语句有何异同
附:运行截图
打码的是设备位置
The document you expected this should be explained
https://gorm.io/zh_CN/docs/query.html#%E6%8E%92%E5%BA%8F
Expected answer
想获取id最大的那一条,即为最新状态
Comment From: a631807682
If you need to define your own Order, use Take instead.