Une femme adulte et une jeune fille sont mortes et plusieurs autres personnes ont été blessées, a indiqué le chef de la police de Saint-Louis, Mike Sack.
Les agents, venus sur place après un appel d'urgence, ont échangé des tirs avec l'assaillant, qui a été atteint et a succombé à ses blessures, selon la même source.
"Le suspect semble avoir environ 20 ans" et son identité n'a pas encore été établie de manière définitive, a indiqué M. Sack.
Les fusillades, notamment dans des établissements scolaires, sont un fléau aux Etats-Unis. En mai, un adolescent a tué 19 écoliers et deux enseignantes dans une école primaire d'Uvalde, au Texas.
Lundi, un adolescent américain, qui avait tué l'an dernier quatre élèves dans son lycée du Michigan avec une arme offerte par ses parents, a plaidé coupable.