Mysql 通过根据父项id跳过前5条记录来选择子行

Mysql 通过根据父项id跳过前5条记录来选择子行,mysql,Mysql,对于下面的查询,我得到一个错误这个版本的MySQL还不支持“LIMIT&IN/ALL/ANY/SOME子查询” SELECT * FROM `wp_dash_competition_versions` _versions WHERE DATEDIFF(CURRENT_TIMESTAMP, _versions.created_at) > 20 AND id NOT IN ( SELECT id FROM `wp_dash_competition_versions` WHERE com

对于下面的查询,我得到一个错误
这个版本的MySQL还不支持“LIMIT&IN/ALL/ANY/SOME子查询”

SELECT * FROM `wp_dash_competition_versions` _versions
WHERE DATEDIFF(CURRENT_TIMESTAMP, _versions.created_at) > 20 AND
id NOT IN (
    SELECT id FROM `wp_dash_competition_versions` WHERE competition_id = _versions.competition_id
    ORDER BY created_at LIMIT 5
)
但是,联接查询不会对给定的父id应用限制

是否可以实现从子表中选择行的单个查询,跳过给定父表id的前5行

我开发查询主要是为了删除操作来修剪表。我需要先选择以确保语句正确

CREATE TABLE `wp_dash_competition_versions` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `competition_id` bigint(20) unsigned DEFAULT NULL,
  `competition_serialised` mediumtext COLLATE utf8mb4_unicode_520_ci,
  `created_user_id` bigint(20) unsigned NOT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
)

在answer

中找到,您说它不适用,但使用联接似乎是答案视频查询不需要包含子查询,它不适用,因为它不会对父IDI的最新版本对comp版本执行排除。我已添加了一个create table@草莓
SELECT _version.*
FROM `wp_dash_competition_versions` _version
INNER JOIN (
              SELECT competition_id, GROUP_CONCAT(id ORDER BY created_at DESC) _versions
              FROM `wp_dash_competition_versions` GROUP BY competition_id
) group_versions
ON _version.competition_id = group_versions.competition_id
AND FIND_IN_SET(id, _versions) > 5
AND DATEDIFF(CURRENT_TIMESTAMP, created_at) > 20