sqlite Android房间:如何循环查询结果?

pbpqsu0x  于 2023-10-23  发布在  SQLite
关注(0)|答案(1)|浏览(155)

我有一个这样的SQL表“Diag”:
| ID| Id |
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
| 4 | 4 |
| 5 | 5 |
| 6 | 6 |
| 7 | 7 |
我想有最大的ID foreach IdDossier这样:
| ID| Id |
| 7 | 7 |
| 5 | 5 |
我设法做到这一点要求在“BD浏览器的SQLite”:

WITH cte AS
(SELECT idDossier, id, ROW_NUMBER() OVER (PARTITION BY idDossier ORDER BY id DESC) as rn FROM old_diagnostic)
SELECT * FROM cte
WHERE rn = 1

但不幸的是,“分区”不工作的房间,我得到了这个错误:
android.database.sqlite.SQLiteException:near“(“:语法错误(Sqlite code 1 SQLITE_ERROR)
所以我想知道是否有这样的伪代码:

values = SELECT DISTINCT(idDossier) FROM Diag

foreach(x in values){
  SELECT *, MAX(id) FROM Diag where idDossier = x
}

有可能吗?如果没有,我怎么能做到这一点,而不使用“分区”?谢谢你

5lwkijsr

5lwkijsr1#

使用此查询:

SELECT idDossier, MAX(id) as maxID FROM <TableName> GROUP BY idDossier

你也可以使用raw query。原始查询的参考文档

相关问题