我在 Android Room 中遇到 SQL 查询问题。我有如下查询

@Query("SELECT userId, COUNT(*) AS userCount FROM User " +
        "GROUP BY userId " +
        "ORDER BY userCount ASC")
List<UserCount> getUserAndCount();

但 Android Studio 显示 Cannot resolve symbol 'userCount' 。由于上述语句在 SQL 中运行良好,您能说出我的代码中的问题以及如何在 Android Room 中使用 AS 吗?

最佳答案

从 order by 中删除别名,您需要在 order by 子句中使用 COUNT(*) 表达式

@Query("SELECT userId, COUNT(*) AS userCount FROM User " +
        "GROUP BY userId " +
        "ORDER BY COUNT(*)")
List<UserCount> getUserAndCount();

10-08 17:45