هذا يجب أن يفعل الحيلة @ThunderThighs. أضفه إلى مستكشف البيانات الخاص بك، املأ تاريخ البداية وتاريخ النهاية، وستكون جاهزًا للانطلاق. يجب أن تتطابق التواريخ مع تنسيق مدعوم، ومن بينها YYYY-MM-DD.
المستخدمون الذين لديهم أول منشور خلال الفترة
-- [params]
-- date :start_date
-- date :end_date
SELECT username
FROM users u
JOIN user_stats us
ON u.id = us.user_id
WHERE us.first_post_created_at BETWEEN :start_date::date AND :end_date::date
-- [المعاملات]
-- date :start_date
-- date :end_date
SELECT u.id AS user_id, p.id AS post_id, p.created_at
FROM users u
JOIN user_stats us
ON u.id = us.user_id
JOIN posts p
ON u.id = p.user_id
WHERE p.created_at = us.first_post_created_at
AND us.first_post_created_at BETWEEN :start_date::date AND :end_date::date
هل يمكنني طرح سؤال بسيط لمبتدئ في SQL؟ ما وظيفة u و us في السطرين الثاني والثالث؟ هل تعملان بشكل مشابه لـ AS بحيث يمكن الإشارة إلى users الآن باستخدام البادئة u، وuser_stats باستخدام البادئة us؟
هي في جوهرها اختصار. تسمح لك باستخدام us.user_id بدلاً من user_stats.user_id للإشارة إلى عمود user_id في جدول user_stats. تكون مفيدة بشكل خاص مع أسماء الجداول الطويلة والاستعلامات الكبيرة.