标签: pivot

如何透视MySQL实体 - 属性 - 值模式

我需要设计存储文件所有元数据的表(即文件名,作者,标题,创建日期)和自定义元数据(用户已添加到文件中,例如CustUseBy,CustSendBy).无法预先设置自定义元数据字段的数量.实际上,确定在文件中添加了什么和多少自定义标记的唯一方法是检查表中存在的内容.

为了存储它,我创建了一个基表(具有文件的所有公共元数据),一个Attributes表(包含可以在文件上设置的附加,可选属性)和一个FileAttributes表(为文件的属性赋值).

CREAT TABLE FileBase (
    id VARCHAR(32) PRIMARY KEY,
    name VARCHAR(255) UNIQUE NOT NULL,
    title VARCHAR(255),
    author VARCHAR(255),
    created DATETIME NOT NULL,
) Engine=InnoDB;

CREATE TABLE Attributes (
    id VARCHAR(32) PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    type VARCHAR(255) NOT NULL
) Engine=InnoDB;

CREATE TABLE FileAttributes (
    sNo INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
    fileId VARCHAR(32) NOT NULL,
    attributeId VARCHAR(32) NOT NULL,
    attributeValue VARCHAR(255) NOT NULL,
    FOREIGN KEY fileId REFERENCES FileBase (id),
    FOREIGN KEY attributeId REFERENCES Attributes …
Run Code Online (Sandbox Code Playgroud)

mysql database-design pivot entity-attribute-value

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

如何将行转移到列中(自定义透视)

我有一个类似于以下的Sql Database表:

Day   Period    Subject

Mon   1         Ch
Mon   2         Ph
Mon   3         Mth
Mon   4         CS
Mon   5         Lab1
Mon   6         Lab2
Mon   7         Lab3
Tue   1         Ph
Tue   2         Ele
Tue   3         Hu
Tue   4         Ph
Tue   5         En
Tue   6         CS2
Tue   7         Mth
Run Code Online (Sandbox Code Playgroud)

我希望它显示如下:种类的交叉表或枢轴

Day   P1   P2   P3   P4   P5   P6   P7

Mon   Ch   Ph   Mth  CS2  Lab1 Lab2 Lab3
Tue   Ph   Ele  Hu   Ph   En   CS2  Mth
Run Code Online (Sandbox Code Playgroud)

这样做的理想方式是什么?有人可以给我看一下Sql代码吗?

sql t-sql pivot

25
推荐指数
2
解决办法
6万
查看次数

SQL Server连接表和数据透视表

我有两个数据表

表格1

    ---------------------------------------------------
    | SALEID | SOLDBY | SALEPRICE | MARGIN |   DATE   |
    |  1     |  'aa'  |  10,000   |   10   | 2013-1-1 |
    |  2     |  'bb'  |  25,000   |    5   | 2013-5-1 |
Run Code Online (Sandbox Code Playgroud)

表2

    ---------------------------------------------------
    | SALEITEMID | SALEID | SALEPRICE | CATEGORY |
    |  1         |  1     |   6,000   | BOOKS    |
    |  2         |  1     |   4,000   | PRINTING |
    |  3         |  2     |   5,000   | BOOKS    |
    |  4         |  2     |   12,000 …
Run Code Online (Sandbox Code Playgroud)

sql pivot join sql-server-2008

25
推荐指数
1
解决办法
6万
查看次数

带有子查询的Oracle PIVOT子句的示例

Oracle 对PIVOT子句定义指定可以在IN子句中定义子查询.我想象的一个虚构的例子就是这个

... PIVOT (AVG(salary) FOR (company) IN (SELECT DISTINCT company FROM companies))
Run Code Online (Sandbox Code Playgroud)

然而,有了这个,我得到一个ORA-00936: Missing expression错误.不幸的是,这个新PIVOT条款的错误通常是相当神秘的.谁能给我一个很好的例子,说明如何在IN子句的PIVOT子句中使用子查询?

sql oracle syntax pivot subquery

24
推荐指数
1
解决办法
6万
查看次数

具有动态列的MySQL数据透视表查询

我使用下表来存储产品数据:

mysql> SELECT * FROM product;
+---------------+---------------+--------+
| id | name     | description   | stock  |
+---------------+---------------+--------+
|  1 | product1 | first product |    5   | 
|  2 | product2 | second product|    5   | 
+---------------+---------------+--------+

mysql> SELECT * FROM product_additional;
+-----------------+------------+
| id | fieldname  | fieldvalue |
+-----------------+------------+
|  1 | size       | S          |
|  1 | height     | 103        |
|  2 | size       | L          |
|  2 | height     | 13         |
| …
Run Code Online (Sandbox Code Playgroud)

mysql pivot dynamic

24
推荐指数
2
解决办法
9万
查看次数

我需要知道如何创建交叉表查询

我需要帮助创建以下结果.我想到了一个sql pivot,但我不知道如何使用它.看了几个例子,无法想出解决方案.关于如何实现这一目标的任何其他想法也是受欢迎的.必须动态生成状态列.

有三个表,资产,资产类型,assetstatus

Table: assets
assetid     int
assettag    varchar(25)
assettype   int
assetstatus int

Table: assettypes
id         int
typename   varchar(20)  (ex: Desktop, Laptop, Server, etc.)

Table: assetstatus
id         int
statusname varchar(20)  (ex: Deployed, Inventory, Shipped, etc.)

期望的结果:

AssetType     Total   Deployed   Inventory  Shipped     ...
-----------------------------------------------------------
Desktop         100       75        20          5       ...
Laptop           75       56        19          1       ...
Server           60       50        10          0       ...

一些数据:

assets table:
1,hol1234,1,1
2,hol1233,1,2
3,hol3421,2,3
4,svr1234,3,1

assettypes table:
1,Desktop
2,Laptop
3,Server

assetstatus table:
1,Deployed
2,Inventory
3,Shipped

sql pivot crosstab

24
推荐指数
1
解决办法
6万
查看次数

一对多SQL SELECT成单行

我有两个表中的数据.

第一个表有一个名为PKID的主键

PKID  DATA
0    myData0
1    myData1
2    myData2
Run Code Online (Sandbox Code Playgroud)

第二个表将表1中的PKID列作为外键

PKID_FROM_TABLE_1  U_DATA
       0          unique0
       0          unique1        
       0          unique2
       1          unique3
       1          unique4
       1          unique5
       2          unique6
       2          unique7
       2          unique8
Run Code Online (Sandbox Code Playgroud)

我现在正在制作的基本SELECT语句是

SELECT a.PKID, a.DATA, b.U_DATA
FROM table1 as a
INNER JOIN table2 as b
ON a.PKID = b.PKID_FROM_TABLE_1
Run Code Online (Sandbox Code Playgroud)

这会生成一个这样的表:

PKID   DATA     U_DATA
 0   myData0    unique0
 0   myData0    unique1
 0   myData0    unique2
 1   myData1    unique3
 1   myData1    unique4
 1   myData1    unique5
 2   myData2    unique6
 2   myData2    unique7
 2   myData2    unique8 …
Run Code Online (Sandbox Code Playgroud)

mysql pivot

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

具有多列聚合的SQL Server数据透视表

我有一张桌子:

 create table mytransactions(country varchar(30), totalcount int, numericmonth int, chardate char(20), totalamount money)
Run Code Online (Sandbox Code Playgroud)

该表有以下记录:

insert into mytransactions(country, totalcount, numericmonth, chardate, totalamount) values('Australia', 36, 7, 'Jul-12', 699.96)
Go
insert into mytransactions(country, totalcount, numericmonth, chardate, totalamount) values('Australia', 44, 8, 'Aug-12', 1368.71)
Go
insert into mytransactions(country, totalcount, numericmonth, chardate, totalamount) values('Australia', 52, 9, 'Sep-12', 1161.33)
Go
insert into mytransactions(country, totalcount, numericmonth, chardate, totalamount) values('Australia', 50, 10, 'Oct-12', 1099.84)
Go
insert into mytransactions(country, totalcount, numericmonth, chardate, totalamount) values('Australia', 38, 11, 'Nov-12', 1078.94)
Go
insert …
Run Code Online (Sandbox Code Playgroud)

sql-server pivot sql-server-2005 unpivot

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

Python pandas groupby聚合在多个列上,然后是pivot

在Python中,我有一个类似于以下的pandas DataFrame:

Item | shop1 | shop2 | shop3 | Category
------------------------------------
Shoes| 45    | 50    | 53    | Clothes
TV   | 200   | 300   | 250   | Technology
Book | 20    | 17    | 21    | Books
phone| 300   | 350   | 400   | Technology
Run Code Online (Sandbox Code Playgroud)

shop1,shop2和shop3是不同商店中每件商品的成本.现在,我需要在一些数据清理后返回一个DataFrame,如下所示:

Category (index)| size| sum| mean | std
----------------------------------------
Run Code Online (Sandbox Code Playgroud)

其中size是每个Category中的项目数和sum,mean和std与应用于3个商店的相同功能相关.如何使用split-apply-combine模式(groupby,aggregate,apply,...)执行这些操作?

有人可以帮我吗?我对这个疯狂了......谢谢!

python pivot dataframe pandas data-cleaning

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

两组列的平行枢纽_更长

我有以下数据框:

library(tidyverse)
dat <- tribble(
  ~Scenario,     ~V1,    ~V2,    ~V3,    ~V4,
  1,    0.97,   0.46,   0.79,   0.25,
  1,    0.21,   0.45,   0.23,   0.63,
  1,    0.95,   0.97,   0.07,   0.61,
  1,    0.93,   0.79,   0.23,   0.86,
  2,    0.22,   0.01,   0.42,   0.47,
  2,    0.71,   0.17,   0.16,   0.88,
  3,    0.73,   0.38,   0.10,   0.77,
  3,    0.49,   0.37,   0.90,   0.52,
  3,    0.99,   0.71,   0.66,   0.05,
  3,    0.72,   0.75,   0.69,   0.01,
  3,    0.15,   0.87,   0.12,   0.02,
  4,    0.94,   0.30,   0.91,   0.99)
Run Code Online (Sandbox Code Playgroud)

我向该数据添加四个新列,其中每个新列代表按以下分组的每个 V1:V4 列的总和Scenario

dat_new <- dat %>%
  group_by(Scenario) …
Run Code Online (Sandbox Code Playgroud)

pivot r reshape tidyr

21
推荐指数
1
解决办法
1万
查看次数