`
haohaoshiwo1987
  • 浏览: 23484 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

一个sql的行列转置的例子。

阅读更多

有这样一个AAA表如下所示:

name    score    color

jim         10        red
jim         20       blue
jim         20       green
jim         1         black
glin        2          red
glin        33        blue
glin        21       green
glin        19       black
bob        22       red
bob        39       blue
bob        11      green
bob        11      black

要转置成如下所示的BBB表

name red  blue green  black
jim     10    20     20        1
bob    22    39    11       11
glin     2      33    21       19

 

使用的sql如下:

select R.name ,R.s red,B.s blue,G.s green ,Bk.s black
from( select name,sum(score)s from AAA where color='red' group by name ) R,
    ( select name,sum(score)s from AAA where color='blue' group by name ) B,
    ( select name,sum(score)s from AAA where color='green' group by name ) G,
    ( select name,sum(score)s from AAA where color='black' group by name ) Bk
where R.name = B.name and B.name = G.name and G.name = Bk.name

相当于group by之后把每个人的某一种颜色的分数统计成一个数据集,再把这几个响应的数据集做表连接拼起来。

 

如果反过来,指导BBB表,要返回成AAA表,sql的写法是怎样呢?

select name, red score,'red' color from BBB
union 
select name, blue score,'blue' color from BBB
union 
select name, green score,'green' color from BBB
union 
select name, black score,'black' color from BBB

就是把几个查询集并起来。

 

分享到:
评论

相关推荐

    SQL 实现类似EXCEL行列转置

    首先,让我们创建一个用于存储学生成绩的表格: ```sql Create table Class( [Student] nvarchar(2), [Course] nvarchar(2), [Score] int) ``` 然后,我们可以使用以下动态 SQL 语句来实现行列转置: ```sql ...

    SQL SERVER 转置功能

    两种方案实现SQL SERVER 转置功能1.拼字符串实现转置2.PIVOT

    table 行列转置demo

    本资源提供了一个“表格行列转置”的示例,旨在帮助开发者学习如何通过HTML、jQuery、JavaScript和Java实现这一功能。下面我们将详细探讨这些技术以及它们在行列转置中的应用。 首先,HTML是网页的基础结构语言,...

    SQL查询结果转置源码

    SQL查询结果转置源码 ...该资源提供了一个完整的示例代码,展示了如何使用SQL Server来实现查询结果的转置,並且提供了一些重要的SQL Server概念和best practice,帮助我们更好地掌握SQL Server的编程技术。

    Excel2021行列转置的操作方法.docx

    Excel 2021 行列转置的操作方法 Excel 2021 是一种功能强大的电子表格软件,能够帮助用户快速、高效地处理和分析数据。然而,很多用户对 Excel 2021 的操作还不是很熟悉,特别是在行列转置方面。行列转置是指将原始...

    数据库行列转置参考.pdf

    通过查询所有不同的科目,我们可以构建一个包含所有可能列名的SQL字符串,然后执行这个动态生成的SQL来获取转置后的结果。 进一步扩展,如果我们还需要计算每个学生的平均分和总分,可以添加额外的计算字段。例如:...

    WPS如何对表格进行行列转置.docx

    WPS 是一个功能强大的office 软件,具有丰富的表格编辑功能,其中一项重要的功能就是表格行列转置操作。表格行列转置操作可以将已经建立的表格的行和列进行交换,以满足不同的需求和应用场景。在本文中,我们将介绍...

    几个Excel vba示例文件. 包括行列转置,表格数据到数组,一维数组转二维,单列转多列等

    几个Excel vba示例文件. 包括行列转置,表格数据到数组,一维数组转二维数组,单列转多列等。均含示例数据,如: 250B的文本测试数据,晶振微调后的频率测试数据等。 另外还有EXCEL的常用命令语句精选。

    Excel2021教程:表格数据行列转置.docx

    在 Excel 中,表格数据的行列转置是一个非常重要的操作技巧。掌握了这个技巧,用户可以快速地将表格数据从行转换为列,或者从列转换为行,从而提高工作效率和数据处理能力。下面是 Excel 2021 教程:表格数据行列...

    Excel中行列的转置.pdf

    4. **选择性粘贴**:然后,右键点击并选择“选择性粘贴”选项,这会弹出一个对话框。在弹出的菜单中,选择“转置”选项,如图4所示。这一步是关键,它告诉Excel你要进行行列转换。 5. **确认转置**:点击“确定”后...

    二维数组行列转置.cpp

    二维数组行列转置.cpp

    sql.txt 存储过程行列转置(oracle)

    oracle 存储过程,实现列表数据行转置成列显示table效果;用游标的方式实现;

    几个Excel vba示例文件. 包括行列转置,表格数据到数组,一维数组转二维数组,单列转多列等

    例如,你可以创建一个新数组,然后遍历原数组的每个元素,将其按转置顺序放入新数组中。这样,原行将成为新数组的列,原列将成为新数组的行。 2. **表格数据到数组**: 将Excel工作表的区域转换为数组,可以让VBA...

    C#实现DataGridView控件行列互换的方法

    为了实现行列互换,我们创建另一个DataTable对象dtRight。首先,遍历dtLeft的所有行,为dtRight添加对应数量的列。然后,再遍历dtLeft的所有列,获取每一列的数据并添加到dtRight的新行中。最后一列添加时间数据。...

    矩阵的转置,求秩,求方阵行列式,求方阵的逆矩阵

    具体来说,如果有一个m×n的矩阵A,那么它的转置矩阵AT将会是一个n×m的矩阵,其中AT[i][j] = A[j][i](对于所有i和j)。转置在很多数学运算中非常有用,比如在计算协方差矩阵或者进行线性代数变换时经常用到。 ###...

    Transpose 数组行列转置的限制方式

    Excel中的Transpose函数是一个非常实用的功能,可以方便地对数组进行行列转置。在VBA(Visual Basic for Applications)环境中,我们可以通过调用Application.Transpose方法来实现这一操作。以下是一个简单的示例: ...

    sql server动态行转列.sql

    sqlserver 动态行专列 避免了数据列过多的时候大量的使用case when then...... 原数据 : UserName Subject Score Nick 语文 80 Nick 数学 90 Nick 英语 70 Nick 生物 85 Kent 语文 80 Kent 数学 90 Kent ...

    python将excel行列转换(转置).zip

    这个Python自动化办公源码是一个用于将Excel文件中的行列进行转置(转置)的工具。在处理Excel数据时,我们经常需要对数据进行行列转换,以便更好地分析和展示数据。这个源码可以帮助我们快速实现这一功能,提高工作...

    C语言将给定的3× 3的整型数组转置(行列互换)。

    写一个函数名为convert,实现将给定的3× 3的整型数组转置(行列互换)。 要求:(1)由键盘按矩阵的形式输入3× 3的整型数组。 (2)函数的原型为:void convert(int b[3][3]) (3)在源程序中书写必要的注释。

    C语言程序设计-编写程序,实现矩阵(3行3列)的转置(即行列互换) .c

    C语言程序设计-编写程序,实现矩阵(3行3列)的转置(即行列互换)

Global site tag (gtag.js) - Google Analytics