假设我有一个简单的值表(几乎就像一个键/值存储)。表上有一个主键,它被索引并自动递增。例如,这里有一些行:
[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?
非常感谢
答案 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,请使用限制!