将两个SELECT表达式与LIMIT组合在一起

时间:2012-01-23 20:46:02

标签: android sqlite union limit

我正在开发一个Android应用程序。我有一个数据库表,我想要请求两个或更多不同的SELECT表达式与不同的WHERE条件和每个表达式相同的LIMIT。我的查询如下:

(SELECT * FROM questions WHERE level=1 LIMIT 5)
UNION
(SELECT * FROM questions WHERE level=2 LIMIT 5)

运行应用程序时,此查询会导致错误:

near "UNION": syntax error: while compiling <here is my query>

当我省略LIMIT时它运行良好,但LIMIT和ORDER BY不能以这种方式使用UNION。根据{{​​3}}我的查询对MySQL是正确的。但我找不到任何针对我的问题的SQLite文档。那么我应该如何查询SQLite表以满足我的需求呢?

1 个答案:

答案 0 :(得分:3)

尝试

 SELECT * FROM 
    (
      SELECT * FROM  
       (SELECT * FROM questions WHERE level=1 LIMIT 5)
       UNION  
       SELECT * FROM  
       (SELECT * FROM questions WHERE level=2 LIMIT 5)
    )