`

数据库行转列

阅读更多
name course score
A   语文   88
B   数学   87
C   英语   67
D   语文   90
这是一张数据库表中的字段,写一个sql语句查处如下结果:
姓名   语文  数学  英语
---------------------
A    88    87    67
B    90    86    89

select name as 姓名, 
sum(case when course='语文' then score end) as 语文, 
sum(case when course='数学' then score end) as 数学, 
sum(case when course='物理' then score end) as 物理 
from t_Score group by name 

还可以参考下面的方式:
select
    decode(t.grade_id,1,'一年级',2,'二年级',3,'三年级') 年级,

    sum(decode(t.subject_name,’语文’,t.max_score,0)) 语文,
    sum(decode(t.subject_name,'数学',t.max_score,0)) 数学,
    sum(decode(t.subject_name,'英语',t.max_score,0)) 英语
from
    test_table t
group by
    t.grade_id
参考一下/
分享到:
评论

相关推荐

    主流数据库行转列实例

    主流数据(ORACLE,DB2)行转列实例,包括2种实现方式,通过case..when和left join..on;大牛补充其他的实现方式。

    sql动态行转列 存储过程

    在SQL数据库操作中,"行转列"是一种常见的数据转换需求,它将表格中的多行数据转换为单列显示,通常用于数据汇总和分析。在本案例中,我们主要探讨如何使用SQL语句,尤其是存储过程,来实现动态的行转列功能。这在...

    Sql语句实现表的行列转换,行转列,列转行

    ### SQL语句实现表的行列转换,行转列,列转行 在处理数据库时,我们经常需要对数据进行各种变换以适应不同的分析需求。其中,“行列转换”就是一种非常实用的功能,它可以帮助我们将表中的行数据转换为列数据,...

    数据库行变列查询 实现方法

    ### 数据库行变列查询实现方法 #### 一、引言 在数据库操作中,有时我们需要将表中的数据从行转换为列,这种操作被称为“行转列”...通过上述步骤,我们可以有效地实现数据库行转列的需求,从而更好地组织和展示数据。

    oracle动态行转列

    其中,“行转列”(Pivot)是一种常见的数据转换需求,尤其在数据分析和报告生成时尤为重要。本文将深入探讨如何通过Oracle中的存储过程实现动态“行转列”,并结合给定文件的信息,详细解析其工作原理、优点及应用...

    数据库表行转列

    数据库里的,表里的行转列

    access行转列示例

    Access作为一款流行的桌面级数据库管理系统,提供了丰富的数据操作功能,其中包括“行转列”和“列转行”的操作,这对于数据展示和分析有着极大的便利性。在本文中,我们将深入探讨Access中的这种转换方法及其实际...

    DB2 SQL 实现行转列,列转行

    DB2 SQL 通过函数(CONCAT/POSSTR/LOCATE)实现行转列,列转行 可以按照标点把多列转换为一行,多行转换为一列

    selectcase实现行转列.txt

    本sql实现了数据库行转列的汇总查询,一条sql搞定全部计算

    java行转列的例子

    "java行转列"这个主题是数据处理中的一个常见需求,尤其是在数据分析、报表生成或数据显示时。当我们从数据库中获取数据,有时会遇到单个字段的数据需要在用户界面上以列的形式展示,这时就需要进行数据的行列转换。...

    kettle行转列详解

    在数据处理过程中,有时我们需要将数据从行格式转换为列格式,或者反之,这被称为“行转列”或“列转行”。在Kettle中实现这一功能,可以通过“Row to Column”或“Column to Row”步骤来完成。 在本文中,我们将...

    Oracle行转列(不定列)

    其中,"行转列(不定列)"是数据库查询中的一种常见需求,尤其是在数据分析和报表生成时。本篇文章将详细探讨Oracle如何实现行转列为列的过程,以及在面对不确定列数时的解决方案。 在传统的SQL查询中,数据通常是...

    Oracle行转列之pivot

    在Oracle数据库中,行转列(也称为数据透视)和列转行(unpivot)是SQL查询中用于数据转换的高级功能。从Oracle 11g版本开始,引入了PIVOT和UNPIVOT关键字,以支持显式的查询转换,即从行数据转换为列数据,或从列...

    C#行转列的实现

    在c#后台实现 行转列的显示功能,这样就是可以不借助sql数据库的查询分析器功能也可以实现行转列功能的实现了

    oracle行转列

    "Oracle行转列"是数据库查询中常见的一种需求,尤其是在数据分析和报表展示时。这个主题涉及到Oracle数据库中的聚合函数、分析函数以及一些高级SQL技巧。 首先,"行转列"的基本思想是将数据库表中的一列数据转换为...

    oracle行转列oracle行转列

    这种操作通常被称为“行转列”,其目的是为了更直观地展示数据或者满足某些特定的数据分析需求。在提供的文件信息中,通过一系列SQL查询语句展示了如何在Oracle中实现行转列的操作。 ### Oracle行转列 #### 基本...

    mysql复杂动态行转列解决方案

    当我们在处理数据时,有时会遇到需要将多行数据转换为一列的情况,这被称为“行转列”操作。在本篇中,我们将深入探讨如何在MySQL中解决复杂的动态行转列问题。 首先,我们要理解行转列的基本概念。在传统的SQL查询...

    行转列、列名转行

    行转列主要是将数据库表中的多行数据转换为单行的多个列,这在统计和报表制作时非常有用。SQL Server中可以使用PIVOT操作来实现。假设我们有一个销售数据表,包含产品ID、销售日期和销售额三列,我们想按月份汇总每...

    gp 行转列测试数据

    总的来说,"gp 行转列测试数据"的主题涉及到数据库管理系统中的数据转换技术,尤其是Greenplum中的行转列操作,以及如何通过测试来评估不同方法的性能。这对于优化数据处理流程、提高查询效率以及理解数据库系统内部...

    数据库动态生成列数据库纵向列转横向列

    ### 数据库动态生成列——数据库纵向列转横向列 #### 背景介绍 在数据库管理与数据分析领域,经常会遇到需要将数据从一种格式转换到另一种格式的需求,尤其是在处理报表或者进行复杂的数据分析时。例如,有时候我们...

Global site tag (gtag.js) - Google Analytics