select * from balance where value = '"+value+"' order by date DESC LIMIT 1
如何选择每个月结尾的行值...上面的代码只给出了日期的第一个值...但我需要每个月的第一个值....它存储在时间戳中
答案 0 :(得分:0)
首先,使用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'))