查询SQLite中第一次出现空值

时间:2013-06-17 14:19:17

标签: sql sqlite

我有一个表,我动态填充了一些我想要创建一些统计数据的数据。我有一个值在某个模式后面有一些值,所以我创建了一个额外的列,我将值映射到其他值,以便我可以对它们进行分组。

在我运行统计信息之前,我需要检查是否必须重新映射这些值,这意味着我必须检查该列中是否有null值。

我可以选择这样的选择:

select distinct 1
from my-table t
where t.status_rd is not null
;

缺点是,这只返回一行,但它必须执行完整选择。有没有什么方法可以阻止第一次遭遇的选择?我对确切的行不感兴趣,因为当至少有一行时,我必须对所有这些行进行更新,但我想避免每次都不必要地运行更新。

在Oracle中,我会使用rownum,但这在SQLite中不存在

select 1
from my-table t
where t.status_rd is not null
and rownum <= 1
;

1 个答案:

答案 0 :(得分:4)

使用LIMIT 1选择返回的第一行:

SELECT 1
FROM my_table t
WHERE t.status_rd IS NULL
LIMIT 1

注意:我根据您的问题描述将where子句从IS NOT NULL更改为IS NULL。这可能是也可能不正确。