当前位置:网站首页 > SQL数据库编程 > 正文

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



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表中正确的列中拉取数据。

到此这篇sql文件转换成csv(sql文件转json)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • pymysql怎么安装(安装pymysql模块)2025-02-14 10:27:05
  • sqlserver数据库基础知识(sql server数据库基础)2025-02-14 10:27:05
  • sql循环语句(sql中循环)2025-02-14 10:27:05
  • 增删改查sql语句(增删改查sql语句面试)2025-02-14 10:27:05
  • sql文件怎么导入mysql数据库(把sql文件导入数据库)2025-02-14 10:27:05
  • oracal和mysql的区别(mysql与orcale区别)2025-02-14 10:27:05
  • pymysql 使用(pymssql pyodbc)2025-02-14 10:27:05
  • sql循环语句的作用是什么(sql的循环语句怎么用)2025-02-14 10:27:05
  • goldendb数据库锁表多久自动解锁(goldendb数据库 mysql)2025-02-14 10:27:05
  • plsqldev注册码(plsql developer注册码)2025-02-14 10:27:05
  • 全屏图片