行转列
使用union,一行变多行
select temp.uid, temp.column
from (
select uid, column1 as column
from base_table
union
select uid, column2 as column
from base_table
) temp
列转行
select temp.uid,
temp.column1 as column1,
temp.column2 as column2
from (
select uid,
sum(if(条件1, 1, 0)) as column1,
sum(if(条件2, 1, 0)) as column2
from base_table
group by uid
) temp