Abaixo está uma instrução que descreve uma tarefa de geração de SQL, combinada com uma entrada que fornece mais contexto sobre os esquemas de tabela disponíveis. Escreva o código SQL que responda adequadamente à solicitação
 ###Instrução: Obter os 3 principais usuários por contagem de postagens, com postagens e dados de anúncios
 ###Tabelas: 
CREATE TABLE posts (id INT, user_id INT, content TEXT, posted_at TIMESTAMP); CREATE TABLE ads (id INT, post_id INT, impressions INT, clicks INT, cost FLOAT); INSERT INTO posts (id, user_id, content, posted_at) VALUES (1, 1, 'Hello World!', '2021-03-02 10:30:00'), (2, 2, 'Social Media', '2021-02-18 14:45:00'), (3, 3, 'Programming', '2021-03-01 09:00:00'), (4, 3, 'AI', '2021-03-01 10:00:00'); INSERT INTO ads (id, post_id, impressions, clicks, cost) VALUES (1, 1, 5000, 100, 50.5), (2, 2, 7000, 120, 55.3), (3, 3, 3000, 50, 30.0), (4, 4, 8000, 150, 70.0);
SELECT u.id, u.name, COUNT(p.id) AS post_count, SUM(a.impressions) AS total_impressions, AVG(a.cost) AS avg_cost FROM users u JOIN posts p ON u.id = p.user_id LEFT JOIN ads a ON p.id = a.post_id GROUP BY u.id, u.name ORDER BY post_count DESC LIMIT 3;