`
alvinqq
  • 浏览: 185348 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

数据库表行列转换

阅读更多
不用写存储过程就能实现,也不用特殊的函数就能搞定行列转换了
create table student
(
	s_name varchar(20),
	s_subject varchar(20),
	s_point int
)

insert into student values('张三','数学',86)
insert into student values('李四','数学',78)
insert into student values('张三','语文',67)
insert into student values('张三','英语',90)
insert into student values('李四','英语',88)
insert into student values('李四','语文',70)
insert into student values('王五','英语',90)
insert into student values('王五','数学',88)
insert into student values('王五','语文',70)
select * from student
--如下图:




select s_name as '姓名',s_point as '数学分数' from student where s_subject='数学' order by s_point desc
--如下图:




select s_name as '姓名',avg(s_point) as '平均成绩' from student group by s_name
--如下图:




select n.s_name as '姓名',n.shuxue as '数学',n.yuwen as '语文',n.yingyu as '英语',n.pingjun as '平均成绩',n.allcount as '总分' from
(
	select s_name as s_name,
	(select s_point from student where s.s_name=s_name and s_subject='数学') as shuxue,
	(select s_point from student where s.s_name=s_name and s_subject='语文') as yuwen,
	(select s_point from student where s.s_name=s_name and s_subject='英语') as yingyu,
	avg(s_point) as pingjun,
	sum(s_point) as allcount
	from student s group by s_name 
	
)n order by allcount desc



  • 大小: 15.4 KB
  • 大小: 5.2 KB
  • 大小: 5 KB
  • 大小: 10.3 KB
分享到:
评论

相关推荐

    SQL语句行列转换(附带数据库、表、视图操作)

    SQL 语句行列转换(附带数据库、表、视图操作) SQL 语句行列转换是数据库管理系统中的一种常见操作,它可以将数据从行转换为列,或者从列转换为行。在这个过程中,需要使用数据库管理语言(Database Management ...

    mysql行列转换

    java语言 数据库 mysql数据库 sql行列转换的例子 详解

    数据库行列转换算法

    【数据库行列转换算法】 在数据库处理中,行列转换是一种常见的数据操作,特别是在数据分析和报表生成时。Oracle数据库提供了多种方法来实现这种转换,本篇将详细介绍如何在Oracle中进行行列转换,包括列转行、行转...

    sql行列转换扩展

    SQL 行列转换扩展是指将数据库表中的行数据转换为列数据,或者将列数据转换为行数据的操作。这种操作在数据分析和报表生成中非常常见。在本文中,我们将介绍两种类型的行列转换扩展方法:行转列结构和行列转换...

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

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

    [数据库] SQL查询语句表行列转换及一行数据转换成两列1

    在SQL查询中,表的行列转换...理解并熟练运用子查询、`UNION ALL`、`DECODE`函数以及表的行列转换技巧,能够帮助我们在处理数据库时更加灵活高效。在实际应用中,应根据具体需求和所使用的数据库系统选择最适合的方法。

    oracle行列转换例子

    在Oracle数据库中,行列转换是一种常见的数据操作需求,主要用于将数据从行的形式转换为列的形式,或者反之。这种转换在数据分析、报表制作等场景中尤为常见。本文将深入解析一个Oracle行列转换的例子,通过详细解释...

    sql server 行列转换

    在处理数据库查询时,我们经常会遇到需要将表中的行数据转换为列数据的需求,这种操作通常被称为“行列转换”。例如,当我们需要汇总不同类别的数据并将其展示在同一行的不同列中时,就需要用到行列转换的技术。在...

    Oracle行列转换

    在处理数据时,有时我们需要将数据从行格式转换为列格式,或者反之,这一过程被称为“行列转换”。Oracle提供了多种方法来实现这样的转换,这对于数据分析、报表制作以及优化查询性能等场景非常有用。下面我们将深入...

    DBF表数据行列转换

    DBF表数据行列转换是数据库管理中常见的操作,特别是在处理早期的桌面数据库系统,如FoxPro、dBASE等,这些系统广泛使用DBF文件格式存储数据。DBF(dBASE File)是一种简单但功能强大的表格文件格式,由一系列记录...

    oracle行列转换总结

    在Oracle数据库中,行列转换是一项常用且强大的功能,它允许数据在不同的维度上进行转换,以便于数据分析和报告。本文将深入探讨Oracle中实现行列转换的几种方法,包括使用`UNION ALL`、`MODEL`子句以及集合类型(`...

    数据库实现行列转换(mysql示例)

    在数据库管理中,行列转换是一种常见的数据操作,它涉及到将数据表中的行转换为列,或者将列转换为行。这种转换在数据分析、报表生成以及数据可视化时非常有用。在Oracle数据库中,可以使用"Pivot"功能轻松实现这种...

    oracle行列转换实例

    【Oracle 行列转换实例】 在数据库管理中,有时我们需要将数据表的行与列进行转换,以便于数据分析和报表展示。Oracle 提供了一种高效的方法,即使用分析函数来实现这种行列转换。分析函数主要设计用于处理累计计算...

    交叉表行列转换

    交叉表行列实现动态转换

    行列转换SQL存储过程代码

    ### 行列转换SQL存储过程代码解析 #### 核心知识点概述 本篇文章将深入探讨一个SQL存储过程的实现方式,该存储过程主要用于完成“行转列”(即行列转换)的操作。通过这种方式,可以有效地将数据库表中的行数据...

    oracle行列转换

    Oracle 行列转换是指将数据库表中的行转换为列或将列转换为行的一种操作。这种操作在实际应用中非常有用,例如在数据报表生成、数据分析和数据挖掘等领域。下面我们将详细介绍 Oracle 行列转换的六种情况。 一、列...

    mysql 查询行列转换

    在实际工作中,了解如何进行行列转换对于数据库管理员和数据分析师至关重要。这不仅可以提高数据查询的效率,还能帮助更好地理解和展示数据,从而支持业务决策。因此,熟练掌握这些技巧对于提升 MySQL 数据操作技能...

    MSSQL行列转换存储过程

    其中,行列转换是数据处理中常见的一种需求,尤其是在进行数据分析、报表生成等场景时。本文将深入解析MSSQL中实现行列转换的存储过程及其工作原理,帮助读者理解和掌握这一关键技术。 ### MSSQL行列转换存储过程 ...

    一道java面试题 行列转换

    通过对以上两种数据库环境下的行列转换方案的学习,我们可以看到,无论是 SQL Server 还是 Oracle,在实现上都采用了相似的逻辑,即通过条件判断来实现行列转换。不同的数据库可能支持的函数或语法有所不同,但基本...

Global site tag (gtag.js) - Google Analytics