Sollte Weihnachten genießen! Abzeichen

Man sollte Weihnachten genießen!

Dieser Code vergibt an jeden Benutzer, der zwischen dem „Tag des Jahres" 358 und 2 Tagen ins neue Jahr einloggt, ein Abzeichen. Formuliere es, wie du möchtest!

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

Ich möchte, dass das Abzeichen jeden Tag vergeben wird, an dem sie zwischen diesen beiden Daten vorbeikommen. Hilfe bitte!

Ich denke, wenn du ein weiteres Feld wie „visited_at" hinzufügst, funktioniert es.

Da du nur user_id und current_timestamp verwendest und diese nur in user_id eindeutig sind, weil current_timestamp in jeder Zeile gleich wäre.
Wenn du visited_at hinzufügst, könnten sie eindeutig sein, und dann eine Auszeichnung für jeden Tag.

Aber vielleicht hast du das Problem schon gelöst :wink:

Edit1: Eigentlich glaube ich nicht, dass diese Abfrage DISTINCT benötigt.

Anknüpfend an den Vorschlag von @Rafael_Lima_Vasconce habe ich das Folgende als Beispiel für eine „Oster 2019"-Auszeichnung erstellt.

Ich habe absolut keine Erfahrung mit SQL, abgesehen davon, dass ich numerische Werte in einigen der coolen Abfragen für Auszeichnungen angepasst habe, die hier veröffentlicht wurden. Ich sehe jedoch keinen Hinweis darauf, dass dies nicht funktionieren sollte (vorausgesetzt, Sie suchen immer noch nach einer Lösung).

Wenn Sie möchten, dass die Benutzer die Auszeichnung mehrfach erhalten, sollte das Aktivieren dieser Option beim Einrichten Ihrer Auszeichnung dies bewirken. Andernfalls erhalten sie die Auszeichnung nur beim ersten Besuch während des angegebenen Zeitraums.