"Tack till polisen och armén för att ni avslutade situationen. Skytten har skjutits till döds", skriver landets folkhälsominister Anutin Charnvirakul på Facebook.
– Den officiella siffran över antalet döda är just nu 20 och 42 är skadade. Av dem är 21 fortfarande kvar på sjukhus och 21 har skickats hem, säger Narinrat Phitchayakhamin från de regionala hälsomyndigheterna vid en presskonferens.
Masskjutningen inleddes klockan 15 på lördagen, lokal tid, då tre personer sköts ihjäl på en militäranläggning i staden Nakhon Ratchasima, även kallad Korat, drygt 20 mil nordost om Bangkok.
Tog sig till köpcenter
Mannen tog sig sedan till köpcentrumet Terminal 21, där skottlossningen fortsatte och gärningsmannen barrikaderade sig.
Polis och militär stormade köpcentrumet tidigt på söndagen. Flera dödade och skadade personer rapporteras då ha burits ut ur köpcentrumet. Klockan 09 (03 svensk tid) dödades gärningsmannen enligt polischefen Jirabhob Bhuridej.
– Polisen har dödat gärningsmannen och räddat åtta gisslan. Några av dem var skadade, säger en person ur säkerhetsstyrkorna till Reuters.
Sände på Facebook
Mannen sände delar av händelseförloppet live på Facebook, och han publicerade även bilder på sig själv med ett vapen i hand och i militärklädsel. I ett inlägg som han skrev samtidigt som dådet pågick frågade han sig "Kämpa eller ge upp?".
Facebook har därefter stängt ned den misstänkte mannens konto.
Bilder i lokala medier visar hur soldaten kliver ut ur bilen framför köpcentrumet och öppnar eld, vilket får människor att fly i panik.