我在 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();