create table tab_1(
t1 decimal (10),
t2 decimal (10),
t3 decimal (10)
);
insert into tab_1(t1, t2, t3)
values(1,-2,-5);
insert into tab_1(t1, t2, t3)
values(-3,4,6);
insert into tab_1(t1, t2, t3)
values(5,1,2);
select @sum1:=sum(t1) FROM tab_1 WHERE t1 > 0
select @sum2:=sum(t2) FROM tab_1 WHERE t2 > 0
select @sum3:=sum(t3) FROM tab_1 WHERE t3 > 0
select @sum1, @sum2, @sum3;
Результаты:Транспонирование несколько столбцов в одну строку MySQL
@sum1 @sum2 @sum3
------------------
6 5 8
У меня есть запрос выше, и я хочу запрос, который транспонировать столбцов в один столбец и 3 строк, как показано ниже:
Sum
--
6
5
8
Я использую MySQL Workbench 6.3.7.
Вы ищете, что в SQL Server является функцией 'UNPIVOT'. К сожалению, у MySQL есть эта возможность из коробки, и мне сказали, что она становится очень уродливой, очень быстрой. Для простого примера, который вы дали, вы могли бы просто «СОЮЗ» объединить значения. –