栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在MySQL中返回数据透视表输出?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在MySQL中返回数据透视表输出?

这基本上 数据透视表。

可以在此处找到有关如何实现此目标的不错的教程:http
:
//www.artfulsoftware.com/infotree/qrytip.php?id=78

我建议阅读这篇文章,并根据您的需求调整此解决方案。

更新资料

在上面的链接当前不可用之后,我不得不为在此搜索mysql枢轴答案的所有人提供一些其他信息。它确实具有大量信息,我不会在这里放置所有内容(甚至因为我不想复制他们的大量知识而在这里提供了更多信息),但是我将提供一些有关如何处理数据透视的建议通常以首先问问题的peku的示例来表述sql方式。

也许链接很快回来,我会密切注意的。

电子表格方式…

为此,许多人只是使用MSExcel,OpenOffice或其他电子表格工具之类的工具。这是一个有效的解决方案,只需将数据复制到那里,然后使用GUI提供的工具即可解决此问题。

但这不是问题,甚至可能导致一些不利因素,例如如何将数据输入电子表格,难以解决的缩放等。

SQL方式…

鉴于他的桌子看起来像这样:

CREATE TABLE `test_pivot` (  `pid` bigint(20) NOT NULL AUTO_INCREMENT,  `company_name` varchar(32) DEFAULT NULL,  `action` varchar(16) DEFAULT NULL,  `pagecount` bigint(20) DEFAULT NULL,  PRIMARY KEY (`pid`)) ENGINE=MyISAM;

现在查看他/她想要的表:

company_name    EMAIL   PRINT 1 pages   PRINT 2 pages   PRINT 3 pages-------------------------------------------------------------CompanyA        0       0    1    3CompanyB        1       1    2    0

行(

EMAIL
PRINT x pages
)类似的条件。主要分组为
company_name

为了设置条件,这

CASE
很想使用-
statement。为了GROUP BY的东西,好,使用…
GROUP BY

提供此枢纽的基本SQL可能如下所示:

SELECt  P.`company_name`,    COUNT(        CASE  WHEN P.`action`='EMAIL'  THEN 1  ELSE NULL         END    ) AS 'EMAIL',    COUNT(        CASE  WHEN P.`action`='PRINT' AND P.`pagecount` = '1'  THEN P.`pagecount`  ELSE NULL         END    ) AS 'PRINT 1 pages',    COUNT(        CASE  WHEN P.`action`='PRINT' AND P.`pagecount` = '2'  THEN P.`pagecount`  ELSE NULL         END    ) AS 'PRINT 2 pages',    COUNT(        CASE  WHEN P.`action`='PRINT' AND P.`pagecount` = '3'  THEN P.`pagecount`  ELSE NULL         END    ) AS 'PRINT 3 pages'FROM    test_pivot PGROUP BY P.`company_name`;

这应该很快提供期望的结果。这种方法的主要缺点是,数据透视表中需要的行越多,则需要在SQL语句中定义的条件越多。

这也可以解决,因此人们倾向于使用准备好的语句,例程,计数器等。

有关此主题的一些其他链接:

  • http://anothermysqldba.blogspot.de/2013/06/pivot-tables-example-in-mysql.html
  • http://www.preproject.com/Articles/363339/Cross-Tabulation-Pivot-Tables-with-MySQL
  • http://datacharmer.org/downloads/pivot_tables_mysql_5.pdf
  • https://codingsight.com/pivot-tables-in-mysql/


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/366457.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号