tags:

views:

41

answers:

4

If the primary keys of the records are 1,3,4,5,6,8

I want to select the records with pk:1,6

NOTE

I don't know which ids are non-consecutive

+3  A: 

Why not use a where clause in your SQL query ?

select *
from your_table
where id in (1, 6)
Pascal MARTIN
No,I don't have `1,6`
mysql
+1  A: 

Remember, in your DB of choice, rows generally aren't "consecutive" unless you specifically ORDER them. They just often happen to come out in the right order when you don't specify an order by.

Jamie
+3  A: 
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
LukeH
+2  A: 

What about something like this?

SELECT
    *
FROM
    [MyTable]
WHERE
    [MyId] NOT IN
(
    SELECT
        [MyId] - 1
    FROM
        [MyTable]
)
Robin Day