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;
@sum1 @sum2 @sum3
------------------
6 5 8
我有上述查詢和我想要的轉置的列在一列和3行,如下面的查詢:
Sum
--
6
5
8
我使用MySQL Workbench 6.3.7。
您正在尋找SQL Server中的「UNPIVOT」功能。不幸的是,MySQL確實具備這種功能,並且我被告知它變得非常難看,非常快。對於你給出的簡單例子,你可以將'UNION'放在一起。 –