转换为sql中的数据透视

时间:2018-10-07 00:55:36

标签: sql sybase isql

以下是我拥有的数据的摘要(此数据每年超过数百万行)。那可能与该年的多个罐头有关。或者锡可能与t年的ptin有关,但可能在t + 1年变为另一ptin。我知道SQL(或iSQL)中有“数据透视”功能。我只是不知道如何使用它。

   ptin tin year
0   12  12  2001
1   23  23  2002
2   28  24  2005
3   22  28  2002
4   12  30  2004
5   12  12  1999
6   0   7   1999
7   12  12  1999
8   12  12  2012
9   23  23  2000
10  27  24  2010
11  45  7   2005
12  99  12  2006
13  7   35  2009
14  7   39  2009
15  7   37  2009
16  7   36  2009
17  0   333 2010
18  17  13  2007
19  21  13  2008
20  26  13  2009
21  18  13  2010
22  0   7   2000
23  18  7   2001
24  19  7   2002

我正在尝试将数据转换为以下格式(我在pandas中使用数据透视功能创建了此格式)。但是与sql相比,熊猫的功能有限:

    ptin    0   7   12  17  18  19  21  22  23  26  27  28  45  99
tin year                                                        
7   1999    1   0   0   0   0   0   0   0   0   0   0   0   0   0
    2000    1   0   0   0   0   0   0   0   0   0   0   0   0   0
    2001    0   0   0   0   1   0   0   0   0   0   0   0   0   0
    2002    0   0   0   0   0   1   0   0   0   0   0   0   0   0
    2005    0   0   0   0   0   0   0   0   0   0   0   0   1   0
12  1999    0   0   2   0   0   0   0   0   0   0   0   0   0   0
    2001    0   0   1   0   0   0   0   0   0   0   0   0   0   0
    2006    0   0   0   0   0   0   0   0   0   0   0   0   0   1
    2012    0   0   1   0   0   0   0   0   0   0   0   0   0   0
13  2007    0   0   0   1   0   0   0   0   0   0   0   0   0   0
    2008    0   0   0   0   0   0   1   0   0   0   0   0   0   0
    2009    0   0   0   0   0   0   0   0   0   1   0   0   0   0
    2010    0   0   0   0   1   0   0   0   0   0   0   0   0   0
23  2000    0   0   0   0   0   0   0   0   1   0   0   0   0   0
    2002    0   0   0   0   0   0   0   0   1   0   0   0   0   0
24  2005    0   0   0   0   0   0   0   0   0   0   0   1   0   0
    2010    0   0   0   0   0   0   0   0   0   0   1   0   0   0
28  2002    0   0   0   0   0   0   0   1   0   0   0   0   0   0
30  2004    0   0   1   0   0   0   0   0   0   0   0   0   0   0
35  2009    0   1   0   0   0   0   0   0   0   0   0   0   0   0
36  2009    0   1   0   0   0   0   0   0   0   0   0   0   0   0
37  2009    0   1   0   0   0   0   0   0   0   0   0   0   0   0
39  2009    0   1   0   0   0   0   0   0   0   0   0   0   0   0
333 2010    1   0   0   0   0   0   0   0   0   0   0   0   0   0

如何在sql(或isql)中创建此矩阵?

0 个答案:

没有答案