例表:
建表语句
CREATE TABLE `equipment` (
`id` INT NOT NULL AUTO_INCREMENT,
`machine_Id` INT NOT NULL,
`product_num` INT DEFAULT NULL,
`create_time` datetime DEFAULT NULL,
`create_by` VARCHAR ( 255 ) DEFAULT NULL,
PRIMARY KEY ( `id` )
) ENGINE = INNODB AUTO_INCREMENT = 8 DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci;
sql语句:
-- 查询当前表中每台机器最近两条数据
SELECT
a.*
FROM
equipment a
WHERE
(
SELECT
count(*)
FROM
equipment t
WHERE
t.machine_id = a.machine_id
AND t.create_time > a.create_time
) < 2
ORDER BY
a.create_time DESC
执行结果:
具体思路可以在评论区多多讨论~