这似乎是一个概念上很简单的问题,但没有简单的答案。
我有一些非常耗时的数据,由event_ID变量给出了一整堆(数百万)唯一事件,描述了一组(几种)物理属性(phys_props)。
我正在编写SQL,并想为该时间序列数据集返回每n行(我可以自由选择n为5、1000、10000等)。
但是,例如n = 1000,给定物理属性的记录少于1000条,我根本不希望返回event_ID记录。
类似:
SELECT *
FROM myTable
WHERE MOD(myTable, 1000) = 0
是我的出发点。
答案 0 :(得分:1)
您可以为每行赋予唯一编号,然后对唯一编号进行计算。像这样
with t as(
select *,row_number() over (order by event_ID) SN from the_table_name
)
select * from t where SN%100=0
答案 1 :(得分:0)
您可以尝试以下操作:
SELECT * FROM
(SELECT EVENT_ID,
@rownum := @rownum + 1 AS rank
FROM myTable,
(SELECT @rownum := 0) r
) ds
WHERE MOD(rank, 5) = 0
;
答案 2 :(得分:0)
您可以尝试以下方法:
Select * from myTable
Having mod(count(*), 1000)=0