Crowdin / Upload translations / upload-translations (push) Skipped
Historical data migration test / test (14-alpine) (push) Canceled after 0s
Historical data migration test / test (15-alpine) (push) Canceled after 0s
Historical data migration test / test (16-alpine) (push) Canceled after 0s
Historical data migration test / test (17-alpine) (push) Canceled after 0s
Bundler Audit / security (push) Canceled after 0s
Haml Linting / lint (push) Canceled after 0s
JavaScript Linting / lint (push) Canceled after 0s
Ruby Linting / lint (push) Canceled after 0s
JavaScript Testing / test (push) Canceled after 0s
Ruby Testing / build (production) (push) Canceled after 0s
Ruby Testing / test (.ruby-version) (push) Canceled after 0s
Ruby Testing / test (3.3) (push) Canceled after 0s
Ruby Testing / test (3.4) (push) Canceled after 0s
Ruby Testing / End to End testing (.ruby-version) (push) Canceled after 0s
Ruby Testing / End to End testing (3.3) (push) Canceled after 0s
Ruby Testing / End to End testing (3.4) (push) Canceled after 0s
Ruby Testing / Elastic Search integration testing (.ruby-version, docker.elastic.co/elasticsearch/elasticsearch:7.17.29) (push) Canceled after 0s
Check i18n / check-i18n (push) Canceled after 0s
CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (javascript) (push) Canceled after 0s
CodeQL / Analyze (ruby) (push) Canceled after 0s
Ruby Testing / Elastic Search integration testing (.ruby-version, opensearchproject/opensearch:2) (push) Canceled after 0s
Ruby Testing / Elastic Search integration testing (3.3, docker.elastic.co/elasticsearch/elasticsearch:7.17.29) (push) Canceled after 0s
Ruby Testing / Elastic Search integration testing (3.4, docker.elastic.co/elasticsearch/elasticsearch:7.17.29) (push) Canceled after 0s
Check formatting / lint (push) Canceled after 0s
CSS Linting / lint (push) Canceled after 0s
Ruby Testing / Elastic Search integration testing (.ruby-version, docker.elastic.co/elasticsearch/elasticsearch:8.19.2) (push) Canceled after 0s
Chromatic / Check for relevant changes (push) Canceled after 0s
Chromatic / Run Chromatic (push) Canceled after 0s
Snapshot of upstream tag v4.7.3 (commit 8ff11c2bb7b9f0714e947b10fa3629c6542c7121) from https://github.com/mastodon/mastodon, unmodified.
39 lines
1.4 KiB
SQL
39 lines
1.4 KiB
SQL
SELECT
|
|
account_id,
|
|
sum(rank) AS rank,
|
|
array_agg(reason) AS reason
|
|
FROM (
|
|
SELECT
|
|
accounts.id AS account_id,
|
|
count(follows.id) / (1.0 + count(follows.id)) AS rank,
|
|
'most_followed' AS reason
|
|
FROM follows
|
|
INNER JOIN accounts ON accounts.id = follows.target_account_id
|
|
INNER JOIN users ON users.account_id = follows.account_id
|
|
WHERE users.current_sign_in_at >= (now() - interval '30 days')
|
|
AND accounts.suspended_at IS NULL
|
|
AND accounts.moved_to_account_id IS NULL
|
|
AND accounts.silenced_at IS NULL
|
|
AND accounts.locked = 'f'
|
|
AND accounts.discoverable = 't'
|
|
GROUP BY accounts.id
|
|
HAVING count(follows.id) >= 5
|
|
UNION ALL
|
|
SELECT accounts.id AS account_id,
|
|
sum(status_stats.reblogs_count + status_stats.favourites_count) / (1.0 + sum(status_stats.reblogs_count + status_stats.favourites_count)) AS rank,
|
|
'most_interactions' AS reason
|
|
FROM status_stats
|
|
INNER JOIN statuses ON statuses.id = status_stats.status_id
|
|
INNER JOIN accounts ON accounts.id = statuses.account_id
|
|
WHERE statuses.id >= ((date_part('epoch', now() - interval '30 days') * 1000)::bigint << 16)
|
|
AND accounts.suspended_at IS NULL
|
|
AND accounts.moved_to_account_id IS NULL
|
|
AND accounts.silenced_at IS NULL
|
|
AND accounts.locked = 'f'
|
|
AND accounts.discoverable = 't'
|
|
GROUP BY accounts.id
|
|
HAVING sum(status_stats.reblogs_count + status_stats.favourites_count) >= 5
|
|
) t0
|
|
GROUP BY account_id
|
|
ORDER BY rank DESC
|