[SQL] Как поймать кита?
Каждый из нас в какой-то момент времени задается вопросом: в какой время публиковать посты, чтобы по возможности их замечали киты и голосовали за них?
Чтобы подключиться к базе данных вы можете воспользоваться следующими инструкциями от @dr-boo Альтернативный способ подключения к базе GolosSQL или @investigator Как пользоваться базой данных ГОЛОСа
На текущий момент на Голосе 47 китов:
@bender, @ivelon, @litvintech, @misiano, @on0tole, @aleks, @bond, @dashkiev.mihail, @dr2073, @kristina, @kuna, @media, @misha, @ned, @nesterenko, @primus, @roelandp, @sagun.aleksandr, @sept, @sharker, @testz, @val, @aleksandraz, @alexna, @arcange, @creat0r, @cyberfund, @hipster, @insider, @journalist, @phenom, @serejandmyself, @solodar.mariya, @synergen, @vitaly-lvov, @btcturbo, @degtyarev.sergej, @dmilash, @dmytroscript, @fyrstikken, @golos, @gusaru, @marina, @osipov.petr, @pio, @smailer, @speculator
Если вы интересуетесь моими кураторскими отчетами, то заметили, что в основном голосует 20-25 китов. Остальные же пребывают в спячке и не участвуют активно в жизни платформы.
Я задался вопросом: в какое время киты активно голосуют? Я решил подсчитать апвоуты китов за июнь и сгруппировать их по времени. Для решения этой задачи я написал вот такой вот SQL-скрипт:
SELECT CONVERT(VARCHAR(2),transactions.expiration,114) as 'Часы', count(*) as 'Количество апвоутов'
FROM Transactions
INNER JOIN TxVotes on txvotes.tx_id=transactions.tx_id
inner join accounts on accounts.name=txvotes.voter
WHERE transactions.expiration between '2017-06-01' and '2017-06-30'
and (convert(numeric(38,6), substring(accounts.vesting_shares,1,len(accounts.vesting_shares)-6))) >'1000000000'
group by CONVERT(VARCHAR(2),transactions.expiration,114)
order by CONVERT(VARCHAR(2),transactions.expiration,114)
В результате выполнения скрипта появятся следующие данные, по которым можно построить график.
Часы | Количество апвоутов |
---|---|
00 | 225 |
01 | 104 |
02 | 151 |
03 | 357 |
04 | 389 |
05 | 594 |
06 | 2800 |
07 | 4107 |
08 | 2887 |
09 | 2201 |
10 | 2151 |
11 | 2512 |
12 | 2048 |
13 | 2112 |
14 | 2482 |
15 | 1889 |
16 | 1562 |
17 | 1834 |
18 | 1589 |
19 | 1342 |
20 | 1067 |
21 | 830 |
22 | 422 |
23 | 310 |
Но как известно все мы живем в разных часовых поясах и эти данные актуальны по серверному времени. Чтобы его узнать выполните команду:
SELECT CURRENT_TIMESTAMP
И сравните ее со своим временем. Например, мне нужно к графику прибавить 1 час, чтобы эти данные стали актуальны для моего часового пояса. Как видно из графика, пик активности китов приходится на утро: с 6 до 9 часов. Затем активность плавно ослабевает, лишь небольшие пики активности проявляются к обеду 13:00 и концу рабочего дня в районе 17-18 часов.
А чтобы наверняка поймать кита в текущий момент времени советую пользоваться китовым сонаром от @elviento
источник