我们以此为例:
Select date, sum(field1), max(field2)
from table
group by date
order by date
我们还要说,在我的表中每个日期我有2-3行,所以:
| date | field1 | field2 |
-------------------------------
|01-01-2017| 4 | 34 |
|01-01-2017| 5 | 37 |
|01-01-2017| 3 | 33 |
|01-02-2017| 15 | 41 |
|01-02-2017| 13 | 39 |
我上面的选择将返回
| date | field1 | field2 |
|01-01-2017| 12 | 37 |
|01-02-2017| 28 | 41 |
我想为每个日期获取field2最后插入的值,所以 第一个日期为33,第二个日期为39。
获取结果的简单方法是什么?只需删除max
for field2工作,查询将采用最后一个值?
如果重要的话,我在android上使用Sqlite。
LE:表也有id自动增量字段作为主键。
答案 0 :(得分:1)
RDBMS中的表是一组无序行。您必须定义“最新”行的含义。
假设您的表中有一个自动递增的id列,您可以根据该列确定“最新”行(即具有最大ID的行):
select date,
sum(field1),
(
select field2
from your_table t2
where t.date = t2.date
order by id desc limit 1
) as field2
from table t
group by date
order by date