Nếu tôi hiểu đúng, bạn có thể sử dụng union all
để tính tổng cho mỗi cột và sau đó order by
và limit
:
select c.*
from ((select 'col1', sum(col1) as s from t) union all
(select 'col2', sum(col2) as s from t) union all
. . .
(select 'col10', sum(col10) as s from t)
) c
order by s desc
limit 3;