我知道如何使用以下方法创建单个where子句:
db.query("table",
new String[] {"SUM(column1)"},
"column2 = ?",
new String[] {"1"}, null, null, null);
但是如何在其中包含OR子句?首先,我想返回列值等于1或2的数据。
此外,使用query()
优于rawQuery()
是否有任何好处?
提前致谢,Dan。
答案 0 :(得分:1)
您可以使用 来指示column2的值
db.query("table",
new String[] {"SUM(column1)"},
"column2 in(?,?)",
new String[] {"1","2"}, null, null, null);
query
是我们的封装而不直接编写sql语句,它可以减少手写错误,但它的效率可能比使用rawQuery
慢,
rawQuery
让我们使用sql并传递一些参数来替换最后一个sql的?,但它可能会导致sql注入,但是如果你能保证sql只能由你自己执行,你需要不用担心。
答案 1 :(得分:0)
转变我们的rawQuery函数对我来说是最简单的。我可以使用:rawQuery("SELECT SUM(column1) FROM table WHERE column2 = 2 OR column2 = 4")