أهلاً يا رفاق! كيف حالكم؟
أنا جديد نوعًا ما في بناء استعلامات SQL لمجتمعي، لذا عالق في مشكلة واحدة.
لديّ لبناء استعلام أحصل فيه على البيانات المتعلقة بالخيوط التي أنشأتها مجموعة معينة في المجتمع. هذا ما لدي حتى الآن:
-- [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')
لقد حصلت على كل ما أحتاجه تقريبًا. البيانات الوحيدة المتبقية هي كمية الإعجابات_المستلمة في هذه الخيوط. لكن، يجب أن أحسب كل الإعجابات، باستثناء الإعجابات من مجموعة معينة.
كيف يمكنني فعل ذلك؟ لقد بحثت عن بعض الحلول ووجدت أشياء تتعلق بـ CTEs، لكنني لا أعرف كيف أستخدمها بشكل صحيح.
سأكون ممتنًا لأي مساعدة أو تلميح،
شكرًا مقدمًا.