如何实现在分组的情况下,以另一个时间字段查询出结果?

假如有这样一张表:

脚本如下:

DROP TABLE IF EXISTS `jl_site_operation`;
CREATE TABLE `jl_site_operation` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`site_id` int(11) DEFAULT NULL COMMENT '站房id',
`param_id` int(11) DEFAULT NULL COMMENT '参数id(关联jl_parameter_config表id)',
`param_value` varchar(255) DEFAULT NULL COMMENT '参数名称对应的值',
`param_value_type` tinyint(1) DEFAULT NULL COMMENT '参数值类型[0代表状态值 1代表数值类型]',
`param_value_unit` varchar(255) DEFAULT NULL COMMENT '参数值单位',
`add_time` datetime DEFAULT NULL COMMENT '记录添加时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8 COMMENT='站房运行信息表';

-- ----------------------------
-- Records of jl_site_operation
-- ----------------------------
INSERT INTO `jl_site_operation` VALUES ('6', '1', '2', '20', '1', '℃', '2019-12-03 08:54:16');
INSERT INTO `jl_site_operation` VALUES ('7', '1', '3', '80', '0', '%', '2019-12-03 08:54:16');
INSERT INTO `jl_site_operation` VALUES ('8', '1', '2', '20', '1', '℃', '2019-12-04 08:54:45');
INSERT INTO `jl_site_operation` VALUES ('9', '1', '3', '80', '0', '%', '2019-12-04 08:54:45');
INSERT INTO `jl_site_operation` VALUES ('10', '1', '2', '20', '1', '℃', '2019-12-02 08:54:16');

我希望对每一个param_id为标准 拿到时间最新的记录 也就是 查询得到id为8 9的两条记录?

请问语句是什么样子的。

猜你喜欢

转载自www.cnblogs.com/hm1250446609/p/11981956.html