Вы можете придерживаться более старого изображения, например docker:18.06.2-dind
. В качестве альтернативы возьмите вверх по течению Dockerfile
и отредактируйте альпийскую версию по своему вкусу. Нет гарантии, что сборка будет работать, но стоит попробовать.
В долгосрочной перспективе вы, вероятно, захотите обновить ваши зависимости до версий, совместимых с более поздними версиями Node.
Для выбора первых 100
строк:
MySQL
и PostgreSQL
:
SELECT *
FROM Table
ORDER BY
column
LIMIT 100
Oracle
:
SELECT *
FROM (
SELECT t.*
FROM table
ORDER BY
column
)
WHERE rownum <= 100
Примечание. что вам нужен подзапрос здесь. Если вы не добавите подзапрос, ROWNUM
выберет сначала 10
строк в случайном порядке, а затем отсортирует их по столбцу
.
Чтобы выбрать строки между 100
и 300
:
MySQL
:
SELECT *
FROM TABLE
ORDER BY
column
LIMIT 100, 200
PostgreSQL
:
SELECT *
FROM Table
ORDER BY
column
OFFSET 100 LIMIT 200
Oracle
:
SELECT *
FROM (
SELECT t.*, ROW_NUMBER() OVER (ORER BY column) AS rn
FROM table
)
WHERE rn >= 100
AND rownum <= 200
Обратите внимание, что попытка упростить его с ROWNUM BETWEEN 100 И 200
(в отличие от rn BETWEEN 100 И 200
во внешнем запросе) ничего не вернет в Oracle
!
RN BETWEEN 100 AND 200
будет работать и в Oracle
, но менее эффективно.
Подробнее о производительности см. В статье в моем блоге:
Для Postgres и MySQL это ключевое слово LIMIT.
SELECT *
FROM users
ORDER BY id
LIMIT 100;
Это стандартный SQL (Oracle и SQL Server реализуют его). Это пример возврата до 100 строк:
SELECT ID_CONTROL FROM (SELECT ROW_NUMBER() OVER (ORDER BY ID_CONTROL)
ROWNUMBER, ID_CONTROL FROM IWS_CONTROL WHERE
CURRENT_STATE = 15 AND CURRENT_STATUS=0) A WHERE ROWNUMBER <= 100)
В SQL Anywhere он аналогичен SQL Server:
SELECT TOP 100 * FROM users ORDER BY id
Вы можете даже начать с середины результирующего набора, если хотите:
SELECT TOP 100 START AT 50 * FROM users ORDER BY id
получает от 50-й до 150-й строк набор результатов.
LIMIT 100
как в
SELECT * FROM foo ORDER BY bar LIMIT 100
Oracle:
select * from (select * from foo ORDER BY bar) where rownum < 100
С хорошим объяснением того, как заставить его работать, в AskTom .
В Ingres тот же запрос будет:
select First 100 * from foo ORDER BY bar
Вопрос Ingres уже был дан ответ в StackOverflow ранее.
Вы можете использовать RANK () и DENSE_RANK () в Oracle. Здесь - ссылка на веб-сайт AskTom, объясняющий, как выполнять разбиение на страницы и топ-n запросов с DENSE_RANK в Oracle.
В DB2 ваш запрос будет выглядеть следующим образом:
SELECT * FROM tblData FETCH FIRST 10 ROWS ONLY ;
В Oracle вы хотите использовать запрос TOP-N.
Например:
select *
from (SELECT *
FROM foo
where foo_id=[number]
order by foo_id desc)
where rownum <= 3
Это даст вам три первых результата (потому что я заказываю по desc в подзапросе)