مرحباً، لقد أنشأت استعلامًا (في الأسفل) يعرض الموضوع والفئة وعدد الأصوات على الموضوع، وما إذا كان مغلقًا، ومتى تم إنشاؤه والمستخدم الذي أنشأه. إذا احتجت إلى مزيد من المعلومات، فلا تتردد في إخباري.
لدي بعض المشكلات والأسئلة التي أود الحصول على بعض المساعدة أو التوجيه بشأنها نظرًا لأنني جديد في SQL.
عند تشغيل هذا الاستعلام، يعرض نفس الموضوع مئات المرات. كيف يمكنني إصلاح هذا؟
هل هناك أي طريقة للحصول على وقت إغلاق الموضوع تلقائيًا وعرضه؟
أريد فقط عرض الموضوعات خلال أسبوع. لكن دالة date_trunc التي أضفتها تعرض بعض العناصر قبل أسبوع بقليل؟
SELECT
t.id as topic_id,
t.category_id,
dvc.votes_count,
t.closed,
t.created_at,
t.user_id
FROM topics t, discourse_voting_topic_vote_count dvc
WHERE t.closed = true
AND t.category_id = 20
AND dvc.votes_count >= 1
AND t.created_at <= date_trunc('week', current_date)::date
AND t.created_at >= date_trunc('week', current_date)::date - 7
تخميني بخصوص (3) هو أنها مشكلة في المنطقة الزمنية، و/أو أنها تستند إلى الثانية التي تقوم فيها بتشغيل البرنامج النصي وتريد منتصف الليل السابق أو التالي. (لست متأكدًا تمامًا من كيفية إصلاح أي من هذين الأمرين على الفور).
لست متأكدًا مما إذا كان هذا سيساعد ولكنه يمكنك المحاولة
للحصول على وقت إغلاقهم، ستحتاج إلى إضافة شيء ما إلى جزء SELECT (والذي يمكنك استنتاجه من الحقول المتاحة) وتغيير FROM مثل
FROM topics t, discourse_voting_topic_vote_count dvc, topic_timers tt