【问题标题】:How can I make this sqlite query work?我怎样才能使这个 sqlite 查询工作?
【发布时间】:2012-06-06 21:41:43
【问题描述】:

我无法在 sqlite 中运行此查询:

Cursor c = mDb.rawQuery(
                "SELECT count(sim1.movie_id) FROM stars_in_movies sim1 WHERE "
                        + "EXISTS ( SELECT 1 FROM stars_in_movies sim2 WHERE "
                        + "sim1.movie_id = sim2.movie_id HAVING COUNT(*) = 4) "
                        , null);

此查询获取 stars_in_movies 表中包含四个演员的所有电影。

我收到此运行时错误:SQLiteException : A group by clause is required before having

此查询在我的 Mysqln 终端中运行,但似乎 sqlite 不喜欢它。如何更改上述查询以在 SQLite 中获得相同的结果?

【问题讨论】:

    标签: android mysql sqlite


    【解决方案1】:

    因此,您想计算表中有四个条目的movie_ids 的数量。 SQL 查询应该是:

    SELECT COUNT(*) 
    FROM 
    (
       SELECT 1
       FROM stars_in_movies
       GROUP BY movie_id
       HAVING COUNT(*) = 4
    ) s_i_m
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-21
      • 1970-01-01
      相关资源
      最近更新 更多