2014-12-04 4 views
-1
select * from balance where value = '"+value+"' order by date DESC LIMIT 1 

Как выбрать значения строки для каждого месяца. В приведенном выше коде указано только первое значение даты ... но я нуждаюсь в первом значении каждого месяца .... который хранится в метку времениИзвлечение значений из базы данных sqlite за каждый месяц

ответ

0

во-первых, использование макс() вместо 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')) 
Смежные вопросы