Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 在SQL中透视简单表_Mysql_Sql_Pivot_Etl - Fatal编程技术网

Mysql 在SQL中透视简单表

Mysql 在SQL中透视简单表,mysql,sql,pivot,etl,Mysql,Sql,Pivot,Etl,我有一个简单的两列表,我希望将行透视到列中,以便此表: List Count ---- ----- Bugs 3 Changes 5 Bugs Changes ---- ----- 3 5 可以如下表所示: List Count ---- ----- Bugs 3 Changes 5 Bugs Changes ---- --

我有一个简单的两列表,我希望将行透视到列中,以便此表:

List      Count   
----      -----
Bugs        3   
Changes     5  
Bugs    Changes
----     -----
 3         5   
可以如下表所示:

List      Count   
----      -----
Bugs        3   
Changes     5  
Bugs    Changes
----     -----
 3         5   
我曾尝试使用ETL工具来解压列,但最终的结果是:

Bugs    Changes
----     -----
 3        null 
null       5

有什么方法可以在SQL中实现此透视吗?

您可以这样进行聚合:

select sum(case when List = 'Bugs' then Count else 0 end) as Bugs,
       sum(case when List = 'Changes' then Count else 0 end) as Changes
from table t
where List in ('Bugs', 'Changes');

你试着点击[PIVOT ]标签吗?考虑在应用程序代码中处理数据显示的问题,或者只是旋转你的监视器。这个枢轴工作了,但是我在两个列中接收到一个空值,在这里我期望3和5是。有什么想法吗?在('Bug','Changes')中添加where列表;不为我工作。@BobDuncan。我怀疑你的
列表
的名字中有空格。你能澄清一下@Yogesh吗?我的代码如下所示:
选择MAX(当idList='Bugs'然后curcount end时的case)作为bug,MAX(当idList='Changes'然后curcount end时的case)作为idList所在的tablename的变更('Bugs','Changes')@BobDuncan。您的代码看起来很好,一点问题也没有。您能编辑表的实际数据或结构吗?