Twoja logika jest totalnie bez sensu
"Więc mam dużo rekordów i jest między innymi kolumna users_count. Chciałbym zrobić wykres, gdzie będą pokazane kiedy padł pierwszy rekord najwyższej ilości użytkowników."
Rekord padl wczoraj i tyle. wiec jaki chcesz wykres? to tak jakbys do rekordu Ginesa wpisywal rekord z danego dnia. Jesli cos padlo pierwszy raz to nie moze pasc drugi raz jako pierwszy raz tak? WIec mozesz zrobic tylko informacje ze tego dnia padl pierwszy raz rekord, jesli innego dnia bedzie wiecej uzytkownikow to jest to tylko pobicie pierwszego rekordu ale nie jest to pierwszy raz tylko drugi raz i kolejne.
Z twojego opisu wynika ze chcesz zrobic liste (wykres) kiedy danego dnia bylo ile uzytkownikow bo to nie ma nic wspolnego z zadnymi rekoradmi i albo posortujesz to od ilosci ludzi count_user albo datami
Ewentualnie masz pierwszego dnia 100 osob
drugi dzien 120 osob - zapisujesz te date
trzeci dzien 99 osob
czwraty dzien 180 osob - zapisujesz te date
czyli wyswiwtlasz tylko te daty w ktorych liczba uzytkownikow danego dnia byla wieksza niz najwieksza liczba uzykownikow z poprzedniech dni
SELECT *
FROM tabelka tb
WHERE tb.users_count > (
SELECT MAX(users_count)
FROM tabelka
WHERE created_at < tb.created_at
)
i to ci wypisze wszystkie te daty, po co to komplikowac jakims zawilym kodem sql