-
mysql行列转置,求sql0
表结构如下:
create table date(day varchar(100) not null); create table register(registerCount bigint not null); create table login(loginCount bigint not null);
原sql如下:select day,registerCount,loginCount
from( select day from date where day between 20120101 and 20120103)tmp left join( select registerCount from register)r on tmp.day=r.day left join( select loginCount from login)l on tmp.day=l.day group by day;
原结果集如下:
想更改为如下结果:
水平有限,请高手搭救,要详细sql
2012年8月30日 10:35
4个答案 按时间排序 按投票排序
-
采纳的答案
你这条sql 貌似还有问题吧 ,先参考这个 看看表名:table 字段:user , id , score 数据如下: +----------+----------+----------------+ | user | id | score | | u1 | 1 | 1.2 | | u1 | 2 | 2.3 | | u1 | 3 | 2.5 | | u2 | 1 | 3.4 | | u2 | 2 | 4.5 | | u2 | 3 | 2.6 | +----------+----------+----------------+ 需要得到如下的查询结果: +----------+----------------------+----------------------+----------------------+ | user | id_1_score | id_2_score | id_3_score | | u1 | 1.2 | 2.3 | 2.5 | | u2 | 3.4 | 4.5 | 2.6 | +----------+----------------------+----------------------+----------------------+ SQL语句: Select user, sum(if(id=1, score,0)) as id_1_score, sum(if(id=2, score,0)) as id_2_score, sum(if(id=3, score,0)) as id_3_score from table group by user;
2012年8月30日 14:10
-
数据转置的问题,用Oracle的pivot关键字实现起来比较方便,但Mysql等其他数据库没有提供,硬拼的写法不容易理解和维护,也难以实现动态列的效果。这种结果集看起来象是为报表服务的,可以采用集算器来做,代码易懂。
A1=query(“select day,registerCount,loginCount from(…)”) //你的那句SQL
data=create(类别).record(["registerCount","loginCount"]) //只有一个字段的新表data
A3=for A1 //循环A1中的记录
B4=B3. registerCount & B3. loginCount //将当前记录的字段进行纵向拼接
B5= data=eval("data.derive(B4(#):"+ string(A3.day) +")") //给A2增加一个新字段。
集算器是结构化数据计算工具,可以通过JDBC与JAVA集成,可参考http://blog.sina.com.cn/s/blog_e4de31d00102v6gw.html2014年11月18日 10:41
-
http://hdxiong.iteye.com/blog/836956
这是一个常见的行转列的例子,很直观,使用mysql的函数
case when then else end 楼主可以看一下。
个人觉得 你的那个行列转换似乎有些问题啊 你的第一列怎么显示啊 用sql能这样匹配两列吗?没得结论,楼主解决的话,晾一下。2012年8月30日 16:31
-
需要在程序中拼,
如
3、行列转换
[姓名] [学科] [成绩]
张三 语文 80
张三 数学 90
李四 语文 85
李四 数学 92
select s.snum,s.sname,c.cname,sum(g.score)
from tbl_student s, tbl_course c, tbl_grade g
where s.snum = g.snum and c.cnum=g.cnum
group by s.snum, s.sname,c.cname
select sname,
(select score from tbl_grade g, tbl_course c where c.cname='语文' and g.snum = s.snum and g.cnum = c.cnum) 语文,
(select score from tbl_grade g, tbl_course c where c.cname='数学' and g.snum = s.snum and g.cnum = c.cnum)数学
from tbl_student s;
即需求是 列名是你的字段名 在程序里拼好字段 再进行查2012年8月30日 12:16
相关推荐
资源提供实现行列转置功能,采用Html代码table进行行列转换,并可通过ajax异步调用后台数据,结合js,动态实现行列转置。
使用动态或静态SQL实现 类似于EXCEL的行列转置功能
几个Excel vba示例文件. 包括行列转置,表格数据到数组,一维数组转二维数组,单列转多列等。均含示例数据,如: 250B的文本测试数据,晶振微调后的频率测试数据等。 另外还有EXCEL的常用命令语句精选。
转置,求秩,求方阵行列式,求方阵的逆矩阵
二维数组行列转置.cpp
将查询结果进行二维转置后输出
sqlserver 动态行专列 避免了数据列过多的时候大量的使用case when then...... 原数据 : UserName Subject Score Nick 语文 80 Nick 数学 90 Nick 英语 70 Nick 生物 85 Kent 语文 80 Kent 数学 90 Kent ...
WPS如何对表格进行行列转置.docx
Excel2021行列转置的操作方法.docx
提到数组,大家都不陌生,什么是数组行列转置呢?其实也很简单,如下图所示,行列转置就是将数组元素的存放方式进行转换,原来保存在第一列的数据,将保持在新数组的第一行,并且保持原有顺序,即6在第一个位置,8在...
Excel2021教程:表格数据行列转置.docx
oracle 存储过程,实现列表数据行转置成列显示table效果;用游标的方式实现;
几个Excel vba示例文件. 包括行列转置,表格数据到数组,一维数组转二维数组,单列转多列等,均含示例数据。另外还有EXCEL的常用命令语句精选。
c++代码 矩阵行列式,转置,乘积,求逆 高斯约旦法,行列式法求解逆矩阵 一部分自己写的
Excel中行列的转置.pdf 学习资料 复习资料 教学资源
矩阵转置偏导数,用于矩阵转置之后求偏导,对元素,对向量以及矩阵求偏导
copy后可以直接运行,代码对矩阵中的转置 求逆 相乘做了详尽的处理,供需要的人使用
矩阵运算,包括求矩阵的行列式、求逆、转置等操作
非常好,有助于初学者学习。代码都是自己写的哦,大家多多指教。
本代码展示了矩阵的转置,通过提示,输入想要转置的矩阵,完成该矩阵的转置