Я ударился тепло, пытаясь превратить эту таблицу:MySQL Сводная таблица дат по имени столбца
Date Table Size in MB
------------ ----------- -----------
2016-09-14 table1 1.02
2016-09-15 table1 6.03
2016-09-14 table2 120.0
2016-09-15 table2 150.0
2016-09-14 table3 50.0
2016-09-15 table3 52.0
В это:
Table 2016-09-14 2016-09-15 DIFF
----------- ----------- ----------- -------
table1 1.02 6.03 5.01
table2 120.0 150.0 30.0
table3 50.0 52.0 2.0
Сводная таблица образуют исходную таблицу, но поставив date в имя столбца для размера в столбце mb и, если возможно, разницу между ними в последнем столбце.
До сих пор я мог бы сделать это
Table Date1 Date2
----------- ----------- -----------
table1 2016-09-14 2016-09-15
table2 2016-09-14 2016-09-15
table3 2016-09-14 2016-09-15
с использованием коды из предыдущего поста о сводных таблицах
select `Table`,
max(case when rownum = 1 then date end) Date1,
max(case when rownum = 2 then date end) Date2
from
(
select table_name AS `Table`,
date,round(((data_length + index_length)/1024/1024), 2) `Size in MB`,
@row:=if(@prev=table_name, @row,0) + 1 as rownum,
@prev:=table_name
FROM DBA_DB.table_growth_history, (SELECT @row:=0, @prev:=null) r
order by table_name, date
) s
group by table_name
order by table_name, date
Не то, что я хочу, но, может быть, шаг ближе. Мне нужна помощь экспертов. Я ценю любые советы. Благодаря
я должен идти с этим потом. На данный момент это единственное решение. Спасибо @gordon – Haohmaru