这是一个有效的 SQLite 查询吗

Posted

技术标签:

【中文标题】这是一个有效的 SQLite 查询吗【英文标题】:Is this a valid SQLite query 【发布时间】:2012-11-17 03:19:18 【问题描述】:

我有:

String sqlite = "SELECT count(_id) AS _lCount FROM answers WHERE phase = 3 and correct_incorrect='1'    

作为查询,但我需要正确的不正确列也考虑到“1*”

这是一种有效的解释方式吗?

String sqlite = "SELECT count(_id) AS _lCount FROM answers WHERE phase = 3 and correct_incorrect='1'or'1*'

我会测试它,但“1*”的可能性很小,需要几个小时的测试。所以我想确保我不只是在浪费时间。

【问题讨论】:

【参考方案1】:

使用IN试试吧

String sqlite = "SELECT count(_id) AS _lCount FROM answers WHERE phase = 3 and correct_incorrect IN ('1','1*')"

【讨论】:

【参考方案2】:

据我所知,应该是这样的:

String sqlite = "SELECT count(_id) AS _lCount FROM answers WHERE phase = 3 and (correct_incorrect='1' or correct_incorrect = '1*')

【讨论】:

SQL 不会将其解释为:(phase = 3 and correct_incorrect='1') || (正确_不正确 = '1*') 太棒了。这就说得通了。感谢您的帮助,为我节省了大量时间。【参考方案3】:

这里给出了很多查询,但我认为“1”会出现在“1*”中

String sqlite = "SELECT count(_id) AS _lCount FROM answers WHERE phase = 3 and correct_incorrect like '1*'";

这个查询呢?

【讨论】:

以上是关于这是一个有效的 SQLite 查询吗的主要内容,如果未能解决你的问题,请参考以下文章

isOpen 函数对 Room 数据库或 SQLite 有效吗?

优化数以千计的 SQLite 查询 android

这个 SQLite 查询可以更快吗?

在 SQLite 中计算多个聚合时可以消除子查询吗?

JDBC - SQLITE 选择变量

SQLite 更新查询优化