-- Статистика: топ по количеству сообщений. CREATE OR REPLACE FUNCTION bot.get_top_list() RETURNS TABLE(u character varying, n character varying, c bigint) LANGUAGE plpgsql AS $$ BEGIN RETURN QUERY SELECT tu.username, du.nick, count(*) AS cnt FROM bot.messages m INNER JOIN bot.tg_users tu ON m.id_user = tu.id_user INNER JOIN bot.de_users du ON m.id_user = du.id_user GROUP BY tu.username, du.nick ORDER BY 3 DESC LIMIT 10; END; $$;