`

一行转列sql题

    博客分类:
  • sql
SQL 
阅读更多
有样本数据abc表如下:
id       name        score
1        se          30
2        se          40
3        se          58
1        hn          65
2        hn          47
3       hn          50
想转化成如下表样式:
表名:abc
     name        score1  score2  score3 
      se            30          40          58
      hn            65          47         50


sql1
select b.name,sum(b.score1) score1,sum(b.score2) score2,sum(b.score3) score3
from (
    select a.name,
    case when id=1 then score else 0 end score1,
    case when id=2 then score else 0 end score2,
    case when id=3 then score else 0 end score3
    from abc a
    ) b
group by b.name

sql2:
select name, 
sum(case when id=1 then score else 0 end) score1,
sum(case when id=2 then score else 0 end) score2,
sum(case when id=3 then score else 0 end) score3 
from abc 
group by name

select a.name,a.score,a1.score,a2.score
from 
abc a,abc a1,abc a2
where 
a.name=a1.name and a.id =1 and 
a.name=a2.name
and a1.id = 2 and a2.id=3
分享到:
评论

相关推荐

    sql试 题答案和试题

    8、在Transact-SQL语法中,SELECT语句的完整语法较复杂,但至少包括的部分(1___),使用要害字(2___)可以把重复行屏蔽,将多个查询结果返回一个结果集合的运算符是(3___),假如在SELECT语句中使用集合函数时,...

    sql server经典面试题

    5 如何实现行转列 6 查询出某个字段所有重复的记录 7 写一条sql语句,要修改一个字段的俩个值,比如把字段sex中的男改为女,女改为男 8 SQL SREVER中,向一个表中插入了新数据,如何快捷的得到自增量字段的当前值 10...

    SQLServer行转列实现思路记录

    (面试题请参见附件) 相关的数据表: 1.Score表 2.[User]表 SQL语句如下: –方法一:静态SQL 代码如下: SELECT * FROM (SELECT UID,Name, Score,ScoreName FROM Score,[User] WHERE Score.UID=[User].ID) AS ...

    自考数据库系统原理 第五章 SQL语言 课后习题答案

    卷游标是在推进时不但能沿查询结果中元组顺序从头到尾一行行推进,也能一行行返回。 SQL查询语句 SQL查询语句可以用于检索数据库中的数据。例如,检索LIU老师所授课程的课程号和课程名、检索年龄大于23岁的男学生...

    21天学会SQL

    最后一篇是综合案例篇,分别使用.NET和Java语言实现了与SQL Server 2008的连接,并完成了图书管理系统和在线订餐系统。 第一篇 SQL Server 2008基础篇 第1章 学习数据库的准备 ( 教学视频:58分钟) 15 1.1 认识...

    SQL SERVER基础选择题

    A 记录 B 行 C 表 D 列 答案:D 3-SQL Server 2012 是基于()的数据库 A 关系型 B 文件系统 C 层次型 D 网络型 答案:A 4-Microsoft SQL Server 2012在安装的时候就创建的数据库包括 A Pubs B Master C ...

    SQL Server 2008管理员必备指南(超高清PDF)Part3

    5.2.5 添加SQL Server到一个组 5.3 管理服务器 5.3.1 注册已连接服务器 5.3.2 在“已注册的服务器”视图中注册新的服务器 5.3.3 注册以前注册的SQL Server 2000服务器 5.3.4 更新本地服务器注册 5.3.5 将服务器组和...

    SQL.Server.2008管理员必备指南.part4.rar(4/4)

    (本书由4部分组成,需下载完4个文件之后,放在同一文件目录下才能正常解压) 基本信息  作者:(美国)(William R.... 10.4.8 在一个表中添加和删除列 293  10.4.9 编写表脚本 294  10.5 管理表的值 294  10.5.1...

    SQL笔试题

    SQL笔试题 SQL笔试题涵盖了 Oracle 数据库管理、SQL 语句、操作系统命令等多方面的知识点。下面将逐一详细介绍每个知识点: 1. Oracle 数据库导出表数据 使用 Oracle 的 exp 命令可以将数据库表导出到本地文件中...

    SQL Server 2008管理员必备指南(超高清PDF)Part1

    5.2.5 添加SQL Server到一个组 5.3 管理服务器 5.3.1 注册已连接服务器 5.3.2 在“已注册的服务器”视图中注册新的服务器 5.3.3 注册以前注册的SQL Server 2000服务器 5.3.4 更新本地服务器注册 5.3.5 将服务器组和...

    SQL Server 2008管理员必备指南(超高清PDF)Part2

    5.2.5 添加SQL Server到一个组 5.3 管理服务器 5.3.1 注册已连接服务器 5.3.2 在“已注册的服务器”视图中注册新的服务器 5.3.3 注册以前注册的SQL Server 2000服务器 5.3.4 更新本地服务器注册 5.3.5 将服务器组和...

    SQL.Server.2008管理员必备指南.part2.rar(2/4)

    (本书由4部分组成,需下载完4个文件之后,放在同一文件目录下才能正常解压) 基本信息  作者:(美国)(William R.... 10.4.8 在一个表中添加和删除列 293  10.4.9 编写表脚本 294  10.5 管理表的值 294  10.5.1...

    oracle经典19题

    1.列出至少有一个员工的所有部门。 2.列出薪金比“SMITH”多的所有员工。 3.列出所有员工的姓名及其直接上级的姓名。 4.列出受雇日期早于其直接上级的所有员工。 5.列出部门名称和这些部门的员工信息,同时列出...

    整理SQL面试工作中常用的语句大全

    在InnoDB表中,不需要扩大锁定(lock escalation),因为InnoDB的列锁定(row level locks)适宜非常小的空间。 三、数据插入 从一个表中查询出数据插入到另一个表中的方法有两种: 1. 使用select into from语句:...

    SQL.Server.2008管理员必备指南.part1.rar(1/4)

    (本书由4部分组成,需下载完4个文件之后,放在同一文件目录下才能正常解压) 基本信息  作者:(美国)(William R.... 10.4.8 在一个表中添加和删除列 293  10.4.9 编写表脚本 294  10.5 管理表的值 294  10.5.1...

    SQL查询语句精华使用简要.doc

    选择列表是简单查询的第一部分,它指定了所查询的列。选择列表可以是一组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成。 例如,SELECT * FROM testtable 语句将查询 testtable 表中的所有列。 2...

    Oracle选择题(含答案).doc

    在这篇文章中,我们将总结 Oracle 相关的选择题,涵盖了 SQL 语句、数据类型、函数、查询语句等多方面的知识点。 1. 查询月固定费用是 5.9 元,8.5 元,10.5 元的资费信息 正确的 SQL 语句是 A.select id,base_...

    SQL.Server.2008管理员必备指南.part3.rar(3/4)

    (本书由4部分组成,需下载完4个文件之后,放在同一文件目录下才能正常解压) 基本信息  作者:(美国)(William R.... 10.4.8 在一个表中添加和删除列 293  10.4.9 编写表脚本 294  10.5 管理表的值 294  10.5.1...

    100道mysql面试题.docx

    主键是表中的一列或一组列,用于唯一标识表中的每一行。 5. 什么是外键? 外键是表中的一列,用于建立与其他表的关联。 6. 什么是索引? 索引是一种数据结构,用于加快数据库的查询速度。 7. 什么是事务? 事务是...

Global site tag (gtag.js) - Google Analytics