資料表只有 no,id
cus_num 是我用 ROW_NUMBER() OVER (ORDER BY table.no) 自訂編號的
請教一下各位大神,有什麼方法可以取固定筆數資料
例如
我要取每五筆頭尾資料就好,若資料不足五筆,也必須顯示頭尾資料
如下圖
可以使用mod 5 + in(0,1) 判斷頭尾
假如想要不足也要顯示,可以額外判斷假如是最大cus_num也要顯示
with cte as (
select ROW_NUMBER() OVER (ORDER BY T.no) as cus_num
,no,id
from T
)
select * from cte
where cus_num % 5 in (0,1) --我要取每五筆頭尾資料就好
or cus_num = (select max(cus_num) from cte) --,若資料不足五筆,也必須顯示頭尾資料
where cus_num % 5 in (0,1)
請問一下這段能有oracle的用法嗎? 謝謝
我用mod跑不了
young122333
oracle 改成使用mod函數
with cte as (
select ROW_NUMBER() OVER (ORDER BY T.no) as cus_num
,no,id
from T
)
select * from cte
where mod(cus_num,5) in (0,1) --我要取每五筆頭尾資料就好
or cus_num = (select max(cus_num) from cte) --,若資料不足五筆,也必須顯示頭尾資料
搞定了,感謝唷!!