Выбрать каждую n-ю строку в Informix? - PullRequest
2 голосов
/ 04 февраля 2020

Мне было интересно, можно ли выбрать каждую n-ю строку в Informix, как в MS SQL?!

Что-то вроде

SELECT * FROM <TABLE> order by <COLUMN> ASC limit 1 OFFSET 4

просто не работает , Мы должны работать с версией драйвера 4.10.FC9DE.

Моя цель - получить только каждую 5-ую строку из таблицы с приблизительно 350 записями. Я рад за каждый намек на достижение этого.

Ответы [ 2 ]

2 голосов
/ 04 февраля 2020

Я предлагаю это решение для выбора каждой 5-й строки:

Сначала я нумерую все строки от 1, затем выбираю каждую строку, для которой MOD 5 равен 0

SELECT t.*
  FROM (SELECT *, SUM(1) OVER (ORDER BY <COLUMN>) AS num
          FROM <TABLE> ) AS t
 WHERE MOD(t.num, 5) = 0

Конечно, это не самый эффективный способ сделать это

0 голосов
/ 13 февраля 2020
select  skip 4  first 1 *
from <table>
order by <column> asc

Вы можете увидеть больше на:

https://www.ibm.com/support/knowledgecenter/en/SSGU8G_14.1.0/com.ibm.sqls.doc/ids_sqs_0987.htm

...