#840

Tägliche Zähler mit Schlüssel «Benutzer + Tag» führen

Die Analytik schreibt einen täglichen Aktivitätszähler pro Benutzer: das Paar (Benutzer, Tag) ist eindeutig, und jedes Ereignis erstellt entweder eine Zeile mit dem Wert eins oder erhöht die vorhandene. Hier ist der Primärschlüssel zusammengesetzt, daher muss die Konfliktklausel des "Insert-with-Update" beide Spalten gleichzeitig referenzieren — das ist der Unterschied zum klassischen Fall mit einem Primärschlüssel aus einer einzelnen Spalte. Die Tabelle daily_count(user_id, day, n DEFAULT 0, PRIMARY KEY (user_id, day)) ist leer. Führe drei Einfügeversuche für das Paar (1, '2024-01-10') und zwei für (1, '2024-01-11') aus — bei einem Konflikt über dieses Paar wird das vorhandene n um eins erhöht. Nach den Durchläufen sollte das Paar (1, '2024-01-10') n = 3 haben und (1, '2024-01-11')n = 2.

Nur INSERT/UPDATE/DELETE — kein abschließendes SELECT erforderlich.

Dein Abfrageergebnis erscheint hier