如何在SQL数据库中选择第一个奇/偶编号的主键

时间:2013-07-24 08:33:43

标签: sql database sqlite indexeddb jaydata

假设我有一个简单的值表(几乎就像一个键/值存储)。表上有一个主键,它被索引并自动递增。例如,这里有一些行:

 [id]  [columnA]   [columnB]
  2     "data"    "more data"    
  3     "data"    "more data"    
  4     "data"    "more data"    
  7     "data"    "more data"
  8     "data"    "more data"
  11    "data"    "more data"

表格中可能有1000多个值。

假设我想在该表中选择包含第一个奇数id 的行。在这种情况下,它应该返回行3 "data" "more data"

另外,我如何选择第一个偶数编号的id?

非常感谢

2 个答案:

答案 0 :(得分:3)

select id
from table
where MOD(id, 2) = 1
order by id
limit 0, 1

使用数学函数13%2 = 1(对不起,我不知道它是怎么用英语,用模数除外)。 MySQL函数是MOD

答案 1 :(得分:3)

这将为您提供具有偶数ID的所有行。

SELECT ID FROM table WHERE MOD(ID,2) = 0

然后在这个结果上你可以使用

SELECT TOP 1 *
FROM myTable
ORDER BY ID

对于奇数你可以使用

SELECT ID FROM table WHERE MOD(ID,2) = 1

如果您使用的是SQL Server,请使用TOP,如果您使用的是MySQL或Postgres,请使用限制!