sql文件转换成csv(sql文件转json)

sql文件转换成csv(sql文件转json)SQL 中的数据转换 行转列 nbsp 这个课程将会教你如何从格式化数据中提取分析用的数据 并转换成展示用或图表用格式 我们将使用下面的数据库 将它变成像下面这样的 在这个例子中 我们将使用在 CASE lesson 中使用的同样的数据库 College Football 你可以直接在这里查看数据 像在 inner join lesson 中第一个例子

大家好,我是讯享网,很高兴认识大家。



SQL中的数据转换-行转列

 

这个课程将会教你如何从格式化数据中提取分析用的数据,并转换成展示用或图表用格式。我们将使用下面的数据库:

sql server json 数组转行集_数据
讯享网

将它变成像下面这样的:

sql server json 数组转行集_ide_02

在这个例子中,我们将使用在CASE lesson中使用的同样的数据库–College Football。你可以直接在这里查看数据。像在inner join lesson中第一个例子,让我们先聚合展示在每个联盟中各个年级运动员的数量:

在MODE中查看结果

为了转换数据,我们需要把上面的查询放入一个子查询中。在开始转换前,创建子查询并选取所有列是有帮助的。像这样在增加的步骤里重跑查询,如果查询不能运行,debug会更容易些。你可以在子查询中去除ORDER BY子句因为我们将在外部查询中重排序结果。

假设上面查询像预想中那样运行(结果跟第一个查询记过一模一样),是时候将结果中不同年级值转换成列。在SELECT表达式中的每一项将创建一个列,所以你必须为每一个年级创建一个单独的列: 

技术上,你已经完成了教程上目标。但是可以变得更好一点。你注意到一点,上面的查询产生了以Conference列进行字母排序的列表。增加一列“total players”并以它排序(从大到小)也许会更加完整: 

SQL中的数据转换-列转行

 

网上很多你发现的数据的格式都是为了观察用的,分析不适用。拿这个例子来说,这个表展示了2000-2012年间世界范围内发生地震的数量:

sql server json 数组转行集_子查询_03

用这个格式的数据要回答“一个地震的平均震级是多少?”是困难的。如果数据被分成3列展示:“magnitude”,“year”,“number of earthquakes”,将会容易的多。下面是怎样将数据转换成那样的格式:

首先,在Mode中观察原始数据:

注:列名以“year_”开头,是因为Mode要求列名以字母开头。

需要做的第一件事就是创建一个表,列出原始表格的全部列,作为新表中的行。除非你有很多列需要转换,最简单的方式通常就是在一个子查询中列出所有的列:

一旦你获得这些值,你可以通过交叉匹配worldwide_earthquakes表去创建一个扩展视图:

观察,worldwide_earthquake表中的每一行被重复了13次。最后的要做的事情就是使用case表达式修正这个问题,使用case表达式根据year列的值从worldwide_earthquakes表中正确的列中拉取数据。

小讯
上一篇 2025-05-21 21:20
下一篇 2025-05-16 21:43

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/158647.html