如何从 MySQL 到 ROOM 实现 SUM()、DAY()、MONTH() 和 YEAR()

How to implement SUM(), DAY(), MONTH() and YEAR() from MySQL to ROOM

我在 SQL 中有此代码:

SELECT SUM(number), DAY(date) FROM conting GROUP BY DAY(date) ORDER BY DAY(date) ASC

那我需要在房间兑换:

@Query("SELECT SUM(number), DAY(date) FROM Records GROUP BY DAY(date) ORDER BY DAY(date) ASC") fun getResumeData(): List<Graph>

Graph.kt

data class Graph (
    @ColumnInfo(name = "DAY(date)") var index: Int,
    @ColumnInfo(name = "SUM(number)") var value: Int
)

但是 returns 错误 no such function: DAY 我该如何解决? 注意:

Android(和 Room)使用 SQLite,而不是 MySQL,因此您需要使用 SQLite 可用的函数来构建查询。您可以使用 SQLite 的 date()datetime() 函数执行类似的操作,请参阅 https://www.sqlite.org/lang_datefunc.html 了解更多信息。