Salut tout le monde ! Comment allez-vous ?
Je suis un peu nouveau dans la création de requêtes SQL pour ma communauté, donc je suis bloqué sur un problème.
J’ai dû créer une requête où j’obtiens des données relatives aux fils de discussion créés par un groupe spécifique dans la communauté. Voici ce que j’ai fait jusqu’à présent :
-- [params]
-- int :months_ago = 1
WITH query_period as (
SELECT
date_trunc('month', CURRENT_DATE) - INTERVAL ':months_ago months' as period_start,
date_trunc('month', CURRENT_DATE) - INTERVAL ':months_ago months' + INTERVAL '1 month' - INTERVAL '1 second' as period_end
)
SELECT
t.id as topic_id,
t.title,
u.username,
t.views,
t.posts_count
FROM topics t
RIGHT JOIN query_period qp
ON t.created_at >= qp.period_start
AND t.created_at <= qp.period_end
INNER JOIN users as u
ON t.user_id = u.id
WHERE t.user_id > 0
and u.username in ('maria.narvaez', 'Joao.Caique', 'camila.ochoa',
'Caroline.Freitas','dante.chacon', 'maria.novaes', 'FernandaVivacqua',
'gabriea.marta', 'IgorMello', 'Jay', 'joaostoky', 'Julio.Torquato',
'Luis_Quesada', 'maiara.zotelli', 'natalia.bispo', 'rbussola',
'talissa','tfgouveia', 'Victor.Ferreira')
J’ai presque tout ce dont j’avais besoin. Les seules données restantes sont la quantité de likes_received dans ces fils de discussion. Mais je dois compter tous les likes, en excluant les likes d’un groupe spécifique.
Comment puis-je faire ? J’ai cherché des solutions sur Google et j’ai trouvé des choses concernant les CTEs, cependant je ne sais pas comment les utiliser correctement.
J’apprécierais toute aide ou indice,
merci d’avance.