首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    SQL教程:行转列

    SQL刷题专栏 SQL145题系列 CASE函数的类型 CASE具有两种格式,简单CASE函数和CASE搜索函数。这两种方式,大部分情况下可以实现相同的功能。...比如说,下面这段SQL,你永远无法得到“第二类”这个结果 CASE WHEN Type IN ('a','b') THEN '第一类' WHEN Type IN ('a') THEN...'第二类' ELSE '其他类' END 行转列 CASE用的比较广泛的功能就是行转列,就是将记录行里的数据按条件转换成具体的列。...THEN 分数 ELSE 0 END) 数学, MAX(CASE 课程 WHEN N'物理' THEN 分数 ELSE 0 END) 物理 FROM Score GROUP BY 姓名 执行结果如下: 行转列新方法...PIVOT( MAX(分数) FOR 课程 IN (语文,数学,物理)) A 其中FOR后面的是我们即将进行行转列的列部分 IN里面的是我们行转列之后的列 MAX是聚合IN里面的内容,也可以是其他聚合函数

    75410

    MySQL的行转列

    MySQL的行转列操作 在MySQL中,经常会遇到行转列和列转行的操作,今天来看看这种问题的解决办法,先来说说行转列。...MySQL行转列操作 所谓的行转列操作,就是将一个表的行信息转化为列信息,说着可能比较笼统,这里先举个例子,如下: +----+-----------+--------+-------+ | ID...sec) 根据上面case when语法,当碰到课程为'数学'的时候,我们定义一个列'数学',并把它的score填入其中,如果碰到'语文'或者'英语',那么把它替换为0,我们可以先笼统的写出如下SQL...| 89 | +-----------+--------+--------+--------+ 3 rows in set (0.00 sec) 3 添加total列 当我们把基本的行转列实现之后...最后的sql如下: mysql-yeyz 14:18:29>>SELECT user_name , -> sum(CASE course WHEN '数学' THEN score ELSE

    14.3K10

    table行转列的sql详解

    table行转列的sql详解 tabele行转列的资料,网上搜一下很多。大家照着网上copy就可以实现自己想要的功能。但是大家在实现功能后是否想过行转列为什么要这样写?...5    math    93.0 6    chinese    67.0 7    math    83.0 8    chinese    77.0 8    math    84.0 3 行转列后的结果...73.0 4    82.0    0.0 5    66.0    93.0 6    67.0    0.0 7    0.0    83.0 8    77.0    84.0 二 、分析 1 行转列...可以根据subject的值去动态的组sql语句 看下面的一段代码 declare @sql varchar(2000) set @sql='' select @sql =@sql+ ',case subject...declare @sql varchar(2000) set @sql='select stuid' select @sql =@sql+ ',sum(case subject when '''+subject

    1.4K20

    SQL 行转列+窗口函数的实例

    Christeen Priya Julia NULL Ketty NULL Maria 解决方案 一般遇到“将一列中的所有唯一值作为新的列名输出”这种需求,我们首先想到的就应该是行转列...,我之前写过一篇介绍SQL 行转列的通用实现的文章,感兴趣的朋友点进来看看。...做行转列时分组的依据是什么呢?即依据哪个字段分组。答案是依据每个职位中姓名的排序序号作为分组条件,而每个职位里面姓名的出现的序号可通过窗口函数求得。...Jennifer Actor 3 Ketty Actor 4 Samantha Doctor 1 Aamina Doctor 2 Julia Doctor 3 Priya 最后,我们把窗口函数和行转列结合起来...NULL) ) AS Singer, MAX(IF(occupation = 'Actor', NAME, NULL)) AS Actor FROM t GROUP BY rn 如果你的 MySQL

    2.7K10

    MySQL中的行转列和列转行操作,附SQL实战

    MySQL是一款常用的关系型数据库,广泛应用于各种类型的应用程序和数据存储需求。在MySQL中,我们经常需要对表格进行行转列或列转行的操作,以满足不同的分析或报表需求。...本文将详细介绍MySQL中的行转列和列转行操作,并提供相应的SQL语句进行操作。行转列行转列操作指的是将表格中一行数据转换为多列数据的操作。在MySQL中,可以通过以下两种方式进行行转列操作。1....PIVOT函数PIVOT函数是MySQL8.0版本中新增的函数,用于实现行转列操作。...自定义SQL语句除了使用PIVOT函数外,还可以使用自定义的SQL语句实现行转列操作。这种方法需要使用到MySQL的聚合函数和CASE语句。...结论MySQL中的行转列和列转行操作都具有广泛的应用场景,能够满足各种分析和报表需求。在实际应用中,可以根据具体的需求选择相应的MySQL函数或编写自定义SQL语句进行操作。

    25.9K30
    领券