The attack happened around 1 p.m. at Joy City in the commercial area of Xidan, Xicheng District, police said.
An injured woman died at the hospital. None of the other injured -- three male and nine female -- were in critical condition.
Police have caught the suspect and identified him as a 35-year-old man surnamed Zhu.
The suspect has claimed responsibility for the attack and said he was motivated by personal grievances, according to the police.