我正在解析一个城市从1993年至2000年的电子公告板系统的每月列表。目的是根据这些数据进行可视化。例如,折线图使用各种BBS软件逐月显示BBS的总数。
我已经将所有这些列表中的数据组合到一个大约17,000行的大表中。每行代表一个月内的单个BBS。我知道这可能不是最佳表方案,但这是另一个问题。结构是这样的:
date | name | phone | codes | sysop | speed | software
1990-12 | Aviary | xxx-xxx-xxxx | null | Birdman | 2400 | WWIV
Google Fusion Tables提供了一个称为“汇总”(或在较旧版本中为“聚合”)的功能。如果我按“日期”和“软件”列进行汇总,则FT会生成一个约500行的表,其中包含三列:日期,软件,计数。每行列出在给定月份使用给定类型的软件的BBS数量。有了这些数据,我就可以制作上述的图表。
所以,现在我的问题。而不是FT,我想在MySQL中处理此数据。我已将相同的17,000行表导入MySQL数据库,并尝试使用COUNT和DISTINCT进行各种查询,希望返回与我从FT的Summarize函数得到的结果相同的列表。但是我没有尝试过。
谁能建议如何构造这样的查询?
最佳答案
Kirkman,您可以使用COUNT
函数和GROUP BY
语句(与聚合SQL函数结合使用)来执行此操作
select date, software, count(*) as cnt
from your_table
group by date, software