-1
select * from balance where value = '"+value+"' order by date DESC LIMIT 1
如何选择行的值为每个月的结局..上述代码只给出日期的第一个值...但我需要每个月的第一个值....存储在时间戳从sqlite数据库每月检索值
select * from balance where value = '"+value+"' order by date DESC LIMIT 1
如何选择行的值为每个月的结局..上述代码只给出日期的第一个值...但我需要每个月的第一个值....存储在时间戳从sqlite数据库每月检索值
首先,使用MAX()而不是ORDER BY:
SELECT max(date)
FROM balance
WHERE value = ?
然后你可以使用GROUP BY获得每个月的最大日(%Y%m
产出一年月,即每个月都是唯一的):
SELECT max(date)
FROM balance
WHERE value = ?
GROUP BY strftime('%Y%m')
然后你可以用这些日期来过滤原始表:
SELECT *
FROM balance
WHERE date IN (SELECT max(date)
FROM balance
WHERE value = ?
GROUP BY strftime('%Y%m'))