Zliczaj dzienne liczniki kluczowane przez «użytkownik + dzień»
Analityka zapisuje dzienny licznik aktywności na użytkownika: para (użytkownik, dzień) jest unikalna, a każde zdarzenie albo tworzy wiersz z wartością jeden, albo inkrementuje istniejący. Tutaj klucz główny jest złożony, więc klauzula konfliktu "insert-with-update" musi odwoływać się do obu kolumn naraz — to różnica względem klasycznego przypadku z jednokolumnowym kluczem głównym.
Tabela daily_count(user_id, day, n DEFAULT 0, PRIMARY KEY (user_id, day)) jest pusta. Wykonaj trzy próby wstawienia na parze (1, '2024-01-10') i dwie na (1, '2024-01-11') — przy konflikcie na tej parze istniejące n rośnie o jeden. Po wykonaniach para (1, '2024-01-10') powinna mieć n = 3, a (1, '2024-01-11') — n = 2.
Tylko INSERT/UPDATE/DELETE — bez końcowego SELECT.
Zaloguj się, aby zobaczyć historię rozwiązań
Zaloguj sięZaloguj się, aby korzystać z Mentora AI
Zaloguj się