у меня есть следующая таблица
id rack usage day
1 rack1 100 20141210
2 rack1 120 20141211
3 rack1 135 20141212
4 rack1 144 20141213
5 rack1 160 20141214
6 rack1 165 20141215
7 rack1 167 20141216
Я хотел бы получить разницу в использовании в день. Как выполнить запрос выбора? так что это приведет
day usage
20141210 0
20141211 20
20141212 15
20141213 9
20141214 16
20141215 5
20141216 3
Попробуйте это, это должно работать:
select day, usage, id as id_rack,
usage - (select usage from my_table t where t.id < id_rack order by t.id desc limit 1) as usage
from my_table
попробуй это:
SELECT day, sum(usage) as usage FROM tbl_name GROUP BY day;
выберите t1.day в качестве дня, (t2.usage-t1.usage) в качестве использования из таблицы t1, таблицы t2, где date_format (date_add (t1.date, интервал 1 день), ‘% Y% m% d’) = t2. Дата;
Проверьте этот запрос.
Попробуй это
SELECT l.day,l.usage -
(SELECT x.usage
FROM testing x
WHERE x.rackid < l.rackid
ORDER BY rackid DESC
LIMIT 1)
FROM testing l