Order by one column inside other column
I've solved it by doing the following: 

SELECT nWidth, nHeight, nColumn, 
(SELECT MAX(t.nRow + (t.nHeigth - 1)) FROM test t WHERE t.nRow = tp.nRow 
GROUP BY t.nRow LIMIT 1) AS nRow
FROM test tp ORDER BY nRow, tp.nColumn


This will get the max from the row number plus it's heigth minus 1. 
So, if we have a row that has a cell with height equal or higher than 2, all its cells are going to be in the same row. So, inside that row, we order by Column.

Hope this helps someone.