Если первичные ключи записей 1,3,4,5,6,8
Я хочу выбрать записи с pk:1,6
Примечание:
Я не знаю, какие идентификаторы непоследовательны
SELECT *
FROM your_table AS a
LEFT JOIN your_table AS b
ON a.key_column = b.key_column - 1
WHERE b.key_column IS NULL
Как насчет чего-то подобного?
SELECT
*
FROM
[MyTable]
WHERE
[MyId] NOT IN
(
SELECT
[MyId] - 1
FROM
[MyTable]
)
Почему бы и нет используйте предложение where
в своем запросе SQL?
select *
from your_table
where id in (1, 6)
Помните, что в выбранной вами БД строки обычно не являются «последовательными», если вы специально не ЗАКАЗЫВАете их. Просто часто случается, что они появляются в правильном порядке, если вы не указываете порядок по.