【发布时间】:2011-09-11 01:16:06
【问题描述】:
我在为我们的客户动态开发一些查询时遇到了麻烦,有时我发现自己在问“从我知道我正在寻找的数据子集开始,然后导入到 Excel 等程序中会更好吗?并使用类似的功能(例如“数据透视表”)对数据进行相应处理?
我特别苦恼的一个例子是以下示例:
我有一个在线会员注册系统。为简单起见,我们假设捕获的数据是:会员 ID、注册日期、他们的推荐代码、他们的状态。
一个示例成员表可能如下所示:
MemberID | Date | Ref | USState
=====================================
1 | 2011-01-01 | abc | AL
2 | 2011-01-02 | bcd | AR
3 | 2011-01-03 | cde | CA
4 | 2011-02-01 | abc | TX
等等……
最终,我想用这个数据集构建和运行的查询类型可以扩展到: “在单个结果集中显示所有推荐代码的列表以及他们每个月的注册数量”。
例如:
Ref | 2011-01 | 2011-02 | 2011-03 | 2011-04
==============================================
abc | 1 | 1 | 0 | 0
bcd | 1 | 0 | 0 | 0
cde | 1 | 0 | 0 | 0
老实说,我不知道如何在 MySQL 中构建这种类型的查询(我想如果可以做到,它将需要大量代码、连接、子查询和联合。
同样,另一个示例查询可能是每个州每月有多少会员注册
USState | 2011-01 | 2011-02 | 2011-03 | 2011-04
==============================================
AL | 1 | 0 | 0 | 0
AR | 1 | 0 | 0 | 0
CA | 1 | 0 | 0 | 0
TX | 0 | 1 | 0 | 0
我想我的问题有两个方面:
1) 实际上,最好尝试使用 MySQL GUI(如 Navicat)中的必要数据构建这些数据,还是将整个数据子集导入 Excel 并继续工作?
2) 如果我要使用 MySQL 路由,在下面提到的示例中构建数据子集的正确方法是什么(请注意,查询可能会变得更加复杂,例如“显示有多少注册进入每个州的每个特定月份,并按每个代理分组(每个代理有 50 个可能的行)"
非常感谢您提前提供的帮助。
【问题讨论】:
标签: mysql excel join subquery pivot-table