我想根据我创建的自定义别名来订购数据集。我尝试过,但它会导致语法错误。我究竟做错了什么?
Code:
@Query("SELECT a/b as ratio " +
"FROM dataset " +
"where my_status = :myStatus " +
"order by ratio ASC")
它无法按部分顺序找到比例。
问题是Room
生成你的SQL
在编译时根据您的实体进行查询。因此,只有实体中指定的列名称才能被识别Room
.
例如,如果您有一个实体Employee
:
@Entity(tableName = "employee_table")
public class Employee {
private String firstName;
private String lastName;
private double monthlySalary;
}
如果你想计算年薪或日薪或其他什么,那么你可以添加一个额外的列Employee
(private double mathResult
),然后将其用作别名:
@Dao
public interface EmployeeDao {
@Query("select firstName, lastName, monthlySalary, monthlySalary*12 as mathResult from user_table order by mathResult asc")
LiveData<List<Employee>> getUsers();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)