2013-05-29 2 views
0

Я анализирую сборник ежемесячных списков систем доски объявлений с 1993 по 2000 год в городе. Цель состоит в том, чтобы сделать визуализации из этих данных. Например, линейная диаграмма, показывающая по месяцам общее количество BBS, использующих различные виды программного обеспечения BBS.Как сделать запрос MySQL эквивалентным функции Fusion Tables "summary"?

Я собрал данные из всех этих списков в одну большую таблицу около 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. Но я ничего не пробовал.

Может ли кто-нибудь предложить, как структурировать такой запрос?

ответ

2

Киркман, вы можете сделать это с помощью COUNT функции и GROUP BY оператор (который используется в сочетании с агрегатными функциями SQL)

select date, software, count(*) as cnt 
from your_table 
group by date, software 
Смежные вопросы