相关疑难解决方法(0)

Mysql,重塑从长/高到宽的数据

我有一个长/高格式的mysql表中的数据(如下所述),并希望将其转换为宽格式.我可以只使用sql吗?

最简单的解释一个例子.假设您有关于M个国家(国家,关键,价值)的信息,N个密钥(例如,密钥可以是收入,政治领导者,地区,大陆等)

Long format has 3 columns: country, key, value
  - M*N rows.
  e.g. 
  'USA', 'President', 'Obama'
   ...
  'USA', 'Currency', 'Dollar'

Wide format has N=16 columns: county, key1, ..., keyN
  - M rows
example: 
   country, President, ... , Currency
   'USA', 'Obama', ... , 'Dollar'
Run Code Online (Sandbox Code Playgroud)

SQL中是否有一种方法可以创建一个包含宽格式数据的新表?

select distinct key from table;
Run Code Online (Sandbox Code Playgroud)

//这会给我所有的钥匙.

1)如何使用这些关键元素创建表格?

2)如何填写表格值?

我很确定我可以用任何脚本语言(我喜欢python)来做这个,但是想知道在mysql中是否有一种简单的方法可以做到这一点.许多统计软件包(如R和STATA)都内置了此命令,因为它经常被使用.

======

更清楚的是,这是一个简单案例的理想输入输出:

输入:

country    attrName    attrValue     key  (these are column names)
US         President   Obama         2
US         Currency    Dollar        3
China      President   Hu            4
China      Currency    Yuan …
Run Code Online (Sandbox Code Playgroud)

mysql sql statistics reshape

23
推荐指数
3
解决办法
3万
查看次数

SQLite长到宽格式?

我想知道是否有一种规范的方法可以在SQLite中将数据从长格式转换为宽格式(这种操作通常是在关系数据库的域中吗?).我试着按照MySQL的这个例子,但我猜SQLite没有相同的IF构造......谢谢!

sql sqlite rdbms

12
推荐指数
1
解决办法
3716
查看次数

标签 统计

sql ×2

mysql ×1

rdbms ×1

reshape ×1

sqlite ×1

statistics ×1