There is no regular through train from Amsterdam Centraal to Groningen, but there is from Amsterdam Zuid.
Each of these trains runs every hour:
Den Haag Centraal - Schiphol - Amsterdam Zuid - Almere - Zwolle - Groningen
Den Haag Centraal - Schiphol - Amsterdam Zuid - Almere - Zwolle - Leewarden
Rotterdam Centraal - Utrecht - Zwolle - Groningen
Rotterdam Centraal - Utrecht - Zwolle - Leeuwarden
From Amsterdam Centraal, you change at Almere. So Amsterdam Centraal to Groningen requires either one change or two changes. It takes 2 hours 7 minutes whether you change once or twice.
Regardless of whether you change or not, it always takes the same time between Rotterdam and Groningen, Amsterdam and Groningen, Rotterdam and Leewarden, Amsterdam and Leeuwarden etc.