Mysql 如何在sql(如3、6、9等)中以第三次乘法顺序选择表中的行
我的表格由1024行和两列组成。Mysql 如何在sql(如3、6、9等)中以第三次乘法顺序选择表中的行,mysql,sql,postgresql,Mysql,Sql,Postgresql,我的表格由1024行和两列组成。 我想选择并显示3、4、6等行。。 在sql查询中是否可能。 如果可能的话,代码是什么 在关系数据库中,没有“第三行”或“第六行”的概念,除非您可以定义排序顺序 假设您确实有一列,您可以通过该列对结果进行排序,以便将行定义为“第三行”或“第四行”,以下内容将适用于Postgres: select * from ( select col1, col2, col3, row_number() over (order by your_sort_c
我想选择并显示3、4、6等行。。 在sql查询中是否可能。
如果可能的话,代码是什么 在关系数据库中,没有“第三行”或“第六行”的概念,除非您可以定义排序顺序 假设您确实有一列,您可以通过该列对结果进行排序,以便将行定义为“第三行”或“第四行”,以下内容将适用于Postgres:
select *
from (
select col1, col2, col3,
row_number() over (order by your_sort_column) as rn
from your_table
) t
where rn in (3,4,6);
其中
您的_sort_列
是定义顺序或行的列。这可以是一个增量id或一个时间戳列,用于存储插入或更新行的时间 在MySQL中,可以通过以下方式完成:
SELECT * from
(SELECT (@row := @row + 1) num, tab.* FROM your_table, (SELECT @row := 0) r
ORDER by your_sort_column) t
WHERE (num % 3) = 0
select *
from (
select *, row_number() over (order by your_sort_column) as rn
from your_table
) t
where (rn % 3)=0 ;
我们使用了一个模运算符来得到3的倍数的行
查看它在SQL Fiddle上的工作情况:
在PostgreSQL中,可以通过以下方式实现:
SELECT * from
(SELECT (@row := @row + 1) num, tab.* FROM your_table, (SELECT @row := 0) r
ORDER by your_sort_column) t
WHERE (num % 3) = 0
select *
from (
select *, row_number() over (order by your_sort_column) as rn
from your_table
) t
where (rn % 3)=0 ;
您正在使用哪些数据库管理系统?Postgres还是MySQL?您为每一个添加了一个标记