Перейти к содержанию
Авторизация  
Серый_Ветер

Sql Запросы Для Статистики

Рекомендуемые сообщения

таблица characters:

| account_name | obj_Id | char_name | face | hairStyle | hairColor | sex | heading | x | y | z | karma | pvpkills | pkkills | clanid | createtime | deletetime | title | rec_have | rec_left | rec_bonus_time | hunt_points | hunt_time | accesslevel | online | onlinetime | lastAccess | leaveclan | deleteclan | nochannel | pledge_type | pledge_rank | lvl_joined_academy | apprentice | key_bindings | pcBangPoints | vitality | fame | bookmarks |

ну нет нигде уровня персонажа...

 

можно сделать статистику по:

pvpkills	 - пвп
pkkills	   - пк
online	   - кто в игре сейчас
onlinetime - время, проведенное в игре

 

с этим вопросов нет.

 

1. а как сделать статистику по уровням?

2. как узнать какая профа у тебя?

 

p.s.

в принципе по clanid можно найти какому ты клану принадлежишь... в таблице clan_subpledges

есть id и название клана, и кто владелец:

| clan_id   | type | name			 | leader_id |

 

стату по замкам тоже, в принципе таблица castle:

| id | name | tax_percent | treasury | last_siege_date | own_date | siege_date	| reward_count |

все понятно тут...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

в принципе пока это:

статистика по времени:

SELECT characters.char_name, characters.sex, characters.pvpkills, characters.pkkills, clan_subpledges.name, ally_data.ally_name, characters.onlinetime FROM characters LEFT JOIN clan_subpledges ON characters.clanid = clan_subpledges.clan_id LEFT JOIN clan_data ON characters.clanid = clan_data.clan_id LEFT JOIN ally_data ON clan_data.ally_id = ally_data.ally_id WHERE onlinetime
LIMIT 0, 10;

статистика по пк

SELECT characters.char_name, characters.sex, characters.pvpkills, characters.pkkills, clan_subpledges.name, ally_data.ally_name, characters.onlinetime FROM characters LEFT JOIN clan_subpledges ON characters.clanid = clan_subpledges.clan_id LEFT JOIN clan_data ON characters.clanid = clan_data.clan_id LEFT JOIN ally_data ON clan_data.ally_id = ally_data.ally_id WHERE pkkills LIMIT 0, 10;

 

статистика по пвп

SELECT characters.char_name, characters.sex, characters.pvpkills, characters.pkkills, clan_subpledges.name, ally_data.ally_name, characters.onlinetime FROM characters LEFT JOIN clan_subpledges ON characters.clanid = clan_subpledges.clan_id LEFT JOIN clan_data ON characters.clanid = clan_data.clan_id LEFT JOIN ally_data ON clan_data.ally_id = ally_data.ally_id WHERE pvpkills LIMIT 0, 10;

 

кто в онлайне:

SELECT characters.char_name, characters.sex, characters.pvpkills, characters.pkkills, clan_subpledges.name, ally_data.ally_name, characters.onlinetime
FROM characters LEFT JOIN clan_subpledges ON characters.clanid = clan_subpledges.clan_id
LEFT JOIN clan_data ON characters.clanid = clan_data.clan_id
LEFT JOIN ally_data ON clan_data.ally_id = ally_data.ally_id
WHERE online=1
LIMIT 0, 10

на данный момент отображаются ник, пол, пвп, пк, клан, альянс, проведенное время.

 

 

всего персонажей:

SELECT SQL_CALC_FOUND_ROWS * FROM characters; SELECT FOUND_ROWS( );

всего аккаунтов(не забываем сменить бд):

SELECT SQL_CALC_FOUND_ROWS * FROM accounts; SELECT FOUND_ROWS( );

количество кланов:

SELECT SQL_CALC_FOUND_ROWS * FROM clan_subpledges; SELECT FOUND_ROWS( );

 

на счет остального буду ковырять бд, буду дополнять...

 

пока что все равно нужны таблицы где лежит профа и уровень персонажа... откопать не смог...

Изменено пользователем Серый_Ветер

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

статистика полная:

ник, пол, профа, уровень, пвп, пк, клан, альянс, в сети ли чар, время в игре.

конкретно эта - статистика по проведенному времени в игре.

SELECT characters.char_name, characters.sex, class_list.class_name, character_subclasses.level, characters.pvpkills, characters.pkkills, clan_subpledges.name, ally_data.ally_name, characters.online, characters.onlinetime
FROM characters LEFT JOIN clan_subpledges ON characters.clanid = clan_subpledges.clan_id
LEFT JOIN clan_data ON characters.clanid = clan_data.clan_id
LEFT JOIN ally_data ON clan_data.ally_id = ally_data.ally_id
LEFT JOIN character_subclasses ON characters.obj_Id = character_subclasses.char_obj_id
LEFT JOIN class_list ON character_subclasses.class_id = class_list.class_name
WHERE active =1 AND onlinetime
LIMIT 0, 10

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

то есть теперь имеем полную стату:

10ка первых по времени в игре:

SELECT characters.char_name, characters.sex, class_list.class_name, character_subclasses.level, characters.pvpkills, characters.pkkills, clan_subpledges.name, ally_data.ally_name, characters.online, characters.onlinetime
FROM characters LEFT JOIN clan_subpledges ON characters.clanid = clan_subpledges.clan_id
LEFT JOIN clan_data ON characters.clanid = clan_data.clan_id
LEFT JOIN ally_data ON clan_data.ally_id = ally_data.ally_id
LEFT JOIN character_subclasses ON characters.obj_Id = character_subclasses.char_obj_id
LEFT JOIN class_list ON character_subclasses.class_id = class_list.class_name
WHERE active =1 AND onlinetime
LIMIT 0, 10

 

10ка первых по пк:

SELECT characters.char_name, characters.sex, class_list.class_name, character_subclasses.level, characters.pvpkills, characters.pkkills, clan_subpledges.name, ally_data.ally_name, characters.online, characters.onlinetime
FROM characters LEFT JOIN clan_subpledges ON characters.clanid = clan_subpledges.clan_id
LEFT JOIN clan_data ON characters.clanid = clan_data.clan_id
LEFT JOIN ally_data ON clan_data.ally_id = ally_data.ally_id
LEFT JOIN character_subclasses ON characters.obj_Id = character_subclasses.char_obj_id
LEFT JOIN class_list ON character_subclasses.class_id = class_list.class_name
WHERE active =1 AND pkkills
LIMIT 0, 10

 

10ка первых по пвп:

SELECT characters.char_name, characters.sex, class_list.class_name, character_subclasses.level, characters.pvpkills, characters.pkkills, clan_subpledges.name, ally_data.ally_name, characters.online, characters.onlinetime
FROM characters LEFT JOIN clan_subpledges ON characters.clanid = clan_subpledges.clan_id
LEFT JOIN clan_data ON characters.clanid = clan_data.clan_id
LEFT JOIN ally_data ON clan_data.ally_id = ally_data.ally_id
LEFT JOIN character_subclasses ON characters.obj_Id = character_subclasses.char_obj_id
LEFT JOIN class_list ON character_subclasses.class_id = class_list.class_name
WHERE active =1 AND pvpkills
LIMIT 0, 10

 

кто в игре на данный момент полностью:

SELECT characters.char_name, characters.sex, class_list.class_name, character_subclasses.level, characters.pvpkills, characters.pkkills, clan_subpledges.name, ally_data.ally_name, characters.online, characters.onlinetime
FROM characters LEFT JOIN clan_subpledges ON characters.clanid = clan_subpledges.clan_id
LEFT JOIN clan_data ON characters.clanid = clan_data.clan_id
LEFT JOIN ally_data ON clan_data.ally_id = ally_data.ally_id
LEFT JOIN character_subclasses ON characters.obj_Id = character_subclasses.char_obj_id
LEFT JOIN class_list ON character_subclasses.class_id = class_list.class_name
WHERE active =1 AND online =1

 

10ка тех, кто в игре на данный момент полностью самый прокачанный(сверху вниз):

SELECT characters.char_name, characters.sex, class_list.class_name, character_subclasses.level, characters.pvpkills, characters.pkkills, clan_subpledges.name, ally_data.ally_name, characters.online, characters.onlinetime
FROM characters LEFT JOIN clan_subpledges ON characters.clanid = clan_subpledges.clan_id
LEFT JOIN clan_data ON characters.clanid = clan_data.clan_id
LEFT JOIN ally_data ON clan_data.ally_id = ally_data.ally_id
LEFT JOIN character_subclasses ON characters.obj_Id = character_subclasses.char_obj_id
LEFT JOIN class_list ON character_subclasses.class_id = class_list.class_name
WHERE active =1 AND online =1 AND character_subclasses.level
LIMIT 0, 10

 

+ выше код, где всего онлайн, всего чаров, всего аккаунтов, кланов...

 

мож кому то пригодится...

Изменено пользователем Серый_Ветер

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

SELECT clan_subpledges.name, clan_level, characters.account_name, COUNT( 'characters.clanid' ) , ally_name, clan_data.reputation_score, clan_data.warehouse
FROM characters LEFT JOIN clan_subpledges ON characters.obj_Id = clan_subpledges.leader_id
LEFT JOIN clan_data ON clan_subpledges.clan_id = clan_data.clan_id
LEFT JOIN ally_data ON clan_data.ally_id = ally_data.ally_id
GROUP BY characters.clanid
LIMIT 0, 100

 

количество кланов. топ 100. сортировка по количеству игроков.

Название Lv Лидер Игроки Альянс Репутация Замок

правда вот на счет замка я честно хз...

так как там есть warehouse, hasCastle, hasFortress

что за что отвечает - пока хз....

Изменено пользователем Серый_Ветер

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...