从数据库中获取特定列的最新行
Get latest row from DB for a particular column
来自数据库
+-----+---------+---------+
|user | place |timestamp|
+-------------------------+
|Name3|Location2|11:12 |
|Name1|Location1|11:13 |
|Name2|Location2|11:15 |
|Name3|Location3|11:16 |
|Name1|Location2|11:17 |
|Name4|Location1|11:18 |
+-----+---------+---------+
我想查询特定 user
的最后一个条目,例如查询 Name3
应该 return Location2
.
是否可以通过sqlite查询来实现?也许将所有数据都放入 List 然后尝试查找特定 user
?
的最后一个条目会更容易
您可以通过 运行 原始查询来完成:
select place from table where timestamp = (select max(timestamp) from table);
使用这个查询:
select * from (select * from table order by timestamp desc ) e group by e.user;
您可以在 Sqlite
中使用以下查询:
select user, location from demo where timestamp in(
select min(timestamp) from demo group by user)
order by user;
你可以在这里看到demo
来自数据库
+-----+---------+---------+
|user | place |timestamp|
+-------------------------+
|Name3|Location2|11:12 |
|Name1|Location1|11:13 |
|Name2|Location2|11:15 |
|Name3|Location3|11:16 |
|Name1|Location2|11:17 |
|Name4|Location1|11:18 |
+-----+---------+---------+
我想查询特定 user
的最后一个条目,例如查询 Name3
应该 return Location2
.
是否可以通过sqlite查询来实现?也许将所有数据都放入 List 然后尝试查找特定 user
?
您可以通过 运行 原始查询来完成:
select place from table where timestamp = (select max(timestamp) from table);
使用这个查询: select * from (select * from table order by timestamp desc ) e group by e.user;
您可以在 Sqlite
中使用以下查询:
select user, location from demo where timestamp in(
select min(timestamp) from demo group by user)
order by user;
你可以在这里看到demo