A 33-year-old man has been arrested after at least 10 people were injured including three suffering stab wounds.
The suspect’s mental health is being assessed following the rampage in Bedworth town centre, just north of Coventry, Warwickshire Police said.
A man in his 20s who was stabbed is in a stable condition in hospital, while another man and a woman with knife injuries have been discharged, the force said.
Police believe the suspect, from Bedworth, walked along Coventry Road and Gilbert Close, where he attacked at least 10 people just before 8am.
Officers said the victims identified so far are helping with the investigation.
A local shopkeeper told Coventry Live the attacker threatened staff in a store with scissors before he was detained by police.
They said: “A man assaulted people coming from town and supposedly kicked a man’s dog.
“I heard he pulled a pair of scissors on staff inside a shop and then police Tasered him and arrested him.
“One of our customers was going into the town, the man had a go at him, then they came back up here covered in blood.”
Detective Sergeant Rich Simpkins appealed for witnesses and the injured to come forward if they have not already.
He said: “This was a nasty incident which has left a number of people with injuries and I know this will cause the community great concern.
“The public can expect to see a heightened police presence in and around Bedworth town centre to provide reassurance while our officers continue to conduct their enquiries.
“We have a man in custody and are not looking for any further suspects in connection with this incident.
“We know that a number of people were in the area at around the time of the incident and that there may be more members of the public who may have been approached or assaulted by the suspect.
“If you were approached by the suspect or may have witnessed the incident, I would urge you to get in touch.
“Any information you may have could really assist with our investigation.”
Anyone with information, or with dashcam or phone footage of the Coventry Road and Gilbert Close area between 7.45am and 8.05am can call 101, quoting incident number 91 of 23 April.
Details can also be provided anonymously to independent charity Crimestoppers on 0800 555 111.