It began around 11:45 a.m. along Greenville Boulevard.
Witnesses said the gunman used a shotgun to shoot a Geico insurance adjuster in the parking lot of the Kellum Law Firm across from the Walmart store and then ran across Greenville Boulevard where he shot three more people in the Walmart parking lot.
"We heard rapid gunfire from at least two different guns outside," said witness Ashley Mason. "We ran to the front to lock the door and get all of our clients to the back"
Police said the gunman tried to flee on foot but he was cornered nearby on Hooker Road where he traded shots with officers. Police said the man was hit. He was not identified.
"He pointed his weapon at officers and was shot, " said Greenville Police Chief Hassan Aden.
Police spent hours collecting evidence and trying to undercover the reason behind this mayhem.
Police say they found a bag on the suspect with enough ammunition inside to do significant damage.
"We know he had the gumption to do multiple shootings in an active shooter style," said Aden.
The gunman was taken to hospital after being taken into custody and underwent surgery.
"This is not something we deal with in this community," said Greenville mayor Allen Thomas. "This is a very family oriented community here in Greenville, and a very disturbed individual no doubt that really have evil intent significant intent to go on a rampage."
All of the shooting victims are expected to be OK.
A spokesperson for Walmart said all of its employees are okay.