Mysql SQL-将列值更改为行值
我使用SQL Mysql。如何将列值更改为行值? 我的问题是:Mysql SQL-将列值更改为行值,mysql,sql,Mysql,Sql,我使用SQL Mysql。如何将列值更改为行值? 我的问题是: select sum(if (tr = 1,1,0)) as 1x, sum(if (tr = 2,1,0)) as 2x, sum(if (tr = 3,1,0)) as 3x, sum(if (tr = 4,1,0)) as 4x, sum(if (tr = 5,1,0)) as 5x, from (select user_id, count(subsorder_id) as tr from subs_
select sum(if (tr = 1,1,0)) as 1x,
sum(if (tr = 2,1,0)) as 2x,
sum(if (tr = 3,1,0)) as 3x,
sum(if (tr = 4,1,0)) as 4x,
sum(if (tr = 5,1,0)) as 5x,
from
(select user_id,
count(subsorder_id) as tr
from subs_order
where subsorder_status = 'paid'
group by user_id)tab
结果如下:
预期结果:
总水平
您当前的尝试是旋转结果;但您可以避免这种情况,只需使用字符串函数确定您的自定义标题,并根据以下内容分组: 选择 混凝土,'x'作为标高, 将*计为总数 从…起 选择用户id, countsuborder\u id作为tr 从subs_顺序 其中子订单状态=‘已支付’ 按用户分组\u id选项卡 逐级分组
可能重复的,而不是向我们显示您的数据在尝试后的样子,从而给出错误的结果,而是向我们显示您的数据最初的样子。“当你告诉我们你在C,而不告诉我们A在哪里时,我们很难告诉你如何从A-B获得数据。虽然这可能是问题的重复,但我怀疑OP是否真的需要转换他们的数据,@AleksG;它之所以被旋转,首先是因为它们的条件聚合。很可能这只需要在GROUP BY中增加一列和一个SUMexpression。@Larnu我只是通过OP显示他得到了什么和他想要什么-这是一个简单的换位。我同意,我们需要更多的信息。
1x 2x 3x 4x 5x
150 100 75 50 25
1x 150
2x 100
3x 75
4x 50
5x 25