将 2 个 SELECT 表达式与 LIMIT 结合起来

发布于 2024-12-28 16:21:32 字数 582 浏览 0 评论 0原文

我正在开发一个 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 一起使用。根据 MySQL 的 文档,我的查询对于 MySQL 是正确的。但我找不到任何解决我的问题的 SQLite 文档。那么我应该如何查询 SQLite 表来满足我的需求呢?

I'm developing an Android application. I have a database table and I want to request two or more different SELECT expression with different WHERE condition and the same LIMIT for each expression. My query is like:

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

When running application this query causes error that says:

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

When I omit the LIMIT it works well but LIMIT and ORDER BY don't work with UNION this way. My query is correct for MySQL according their documentation. But I couldn't find any SQLite documentation for my problem. So how should I query SQLite table for my needs?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

压抑⊿情绪 2025-01-04 16:21:32

尝试

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

Try

 SELECT * FROM 
    (
      SELECT * FROM  
       (SELECT * FROM questions WHERE level=1 LIMIT 5)
       UNION  
       SELECT * FROM  
       (SELECT * FROM questions WHERE level=2 LIMIT 5)
    )
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文