Статистика на основе MySQL и PHP - PullRequest
3 голосов
/ 24 января 2011

Я борюсь с проблемой, надеюсь, некоторые из вас смогут мне помочь.

Я получил следующую структуру таблицы для таблицы, которая содержит множество действий. Затем я хотел бы сделать PHP-скрипт, который генерирует некоторую статистику.

+---------------+-------------+------+-----+-------------------+----------------+
| Field         | Type        | Null | Key | Default           | Extra          |
+---------------+-------------+------+-----+-------------------+----------------+
| id            | int(11)     | NO   | PRI | NULL              | auto_increment |
| MemberID      | int(11)     | NO   |     | NULL              |                |
| MemberNumber  | int(11)     | NO   |     | NULL              |                |
| Status        | varchar(20) | NO   |     |                   |                |
| ClubID        | int(11)     | NO   |     | NULL              |                |
| Clubtype      | varchar(5)  | NO   |     | NULL              |                |
| Time          | timestamp   | NO   |     | CURRENT_TIMESTAMP |                |
| Gender        | varchar(10) | NO   |     |                   |                |
+---------------+-------------+------+-----+-------------------+----------------+

Мне интересно, лучше ли позволить php или mysql манипулировать данными. Я хотел бы получить некоторые статистические данные, основанные на Time например, year,month,week и некоторые статистические данные, основанные на Clubtype например, FK,UK и, наконец, некоторые статистические данные, основанные на Gender например, Male,Woman Так что лучше всего работать с count() в запросах mysql или лучше получить все данные и позволить php генерировать статистику.

Надеюсь, это имеет смысл. Спасибо за помощь:)

РЕДАКТИРОВАТЬ: Чтобы объяснить мой план дальше. Я хотел бы сгенерировать для каждого year сгруппированных по month и для каждого месяца я хочу получить

count(Status) всего

count(Status), где Clubtype = $value

count(Status), где Gender = $value

кроме того, за каждый месяц я хочу получить статистику, сгруппированную по week, и, наконец, я хочу получить статистику за каждую неделю, сгруппированную по day. Эта статистика использует тот же count, что и выше.

Надеюсь, это даст мне лучшее представление о том, что я хочу сделать.

1 Ответ

4 голосов
/ 25 января 2011

Используйте MySQL. Он сможет вычислять и организовывать вещи намного быстрее благодаря индексации. Вам придется интенсивно использовать GROUP BY и математические функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...