شارة "يجب أن تستمتع بعيد الميلاد!"

يجب أن تستمتع بعيد الميلاد!

يعطي هذا الكود وسامًا لكل مستخدم يسجل الدخول بين “يوم السنة” = 358 ويومين من بداية العام الجديد. صغها كما تشاء!

SQL:

SELECT distinct(user_id), CURRENT_DATE as granted_at  FROM user_visits WHERE
date_part('doy', visited_at) >= 358
OR
date_part('doy', visited_at) <= 2

ما أود أن يفعله هو منح الوسام في كل يوم يزورونه بين التاريخين. المساعدة من فضلك!

إعجابَين (2)

أعتقد أنه إذا أضفت حقلًا آخر مثل “visited_at” فستعمل.

لأنك تستخدم فقط user_id و current_timestamp، وهما متميزان فقط في user_id، لأن current_timestamp سيكون نفسه في كل صف.
إذا أضفت visited_at، يمكن أن تصبح متميزة، وبالتالي شارة واحدة لكل يوم.

لكن ربما تكون قد حللت هذه المشكلة بالفعل :wink:

تعديل 1: في الواقع، لا أعتقد أن هذا الاستعلام يحتاج إلى distinct

إعجاب واحد (1)

بناءً على ما اقترحه @Rafael_Lima_Vasconce، قمت بإنشاء المثال التالي لشارة “عيد الفصح 2019”.

ليس لدي أي خبرة في SQL سوى تعديل القيم الرقمية في بعض استعلامات الشارات الرائعة التي نُشرت هنا، لكنني لا أرى أي مؤشر على أن هذا لن يعمل (بافتراض أنك لا تزال تحاول إيجاد حل).

إذا كنت تريد أن يتلقى الأشخاص الشارة عدة مرات، فأعتقد أن تمكين خيار العلامة عند إعداد الشارة يجب أن يحقق ذلك. وإلا، فستُمنح الشارة لهم فقط في أول مرة يزورون فيها خلال الفترة الزمنية المحددة.

4 إعجابات