,可以使用以下方法:
SELECT *
FROM table
WHERE MOD(row_number, 3) = 0;
这将选择行号能被3整除的数据,即每3行选择一次。
SELECT t1.*
FROM table t1
JOIN table t2 ON t1.id = t2.id
WHERE t2.row_number <= t1.row_number
GROUP BY t1.id, t1.column1, t1.column2, ...
HAVING COUNT(*) % 4 = 0;
这将通过自连接将每一行与前面的n-1行进行匹配,并使用HAVING子句筛选出每n行的数据。
CREATE TEMPORARY TABLE temp_table AS
SELECT *
FROM table;
SELECT *
FROM temp_table
WHERE MOD(row_number, 5) = 0;
这将首先将原始数据存储在临时表中,然后使用MOD函数从临时表中筛选出每n行的数据。
以上是在不使用ROW_NUMBER的情况下高效地每n行选择一次的几种方法。根据具体的需求和数据库系统的支持,选择适合的方法来实现每n行选择一次的效果。对于腾讯云的相关产品和产品介绍,可以参考腾讯云官方网站:https://cloud.tencent.com/。
领取专属 10元无门槛券
手把手带您无忧上云