A 22-year-old Danish man was arrested after the shooting, Copenhagen police inspector Soren Thomassen told reporters, adding there was no indication that anyone else was involved in the attack, though police were still investigating.
Gun violence is relatively rare in Denmark.
Mr Thomassen said it was too early to speculate on the motive for the shooting, which happened in the late afternoon at Field’s, one of the biggest shopping centers in Scandinavia and located on the outskirts of the Danish capital.
Edinburgh crime news: ‘Large serrated knife and balaclava’ found in car as police…
Mr Thomassen said the victims included a man in his 40s and two “young people”, without giving details. Several others were injured, three of them critically, he added.
He said police received the first reports of a shooting at 5.37 pm, and arrested the suspect 11 minutes later. Mr Thomassen described the suspect as an “ethnic Dane”, a phrase typically used to mean someone is white.
Danish broadcaster TV2 published a grainy photo of the alleged gunman, a man wearing knee-length shorts, a vest or sleeveless shirt, and holding what appeared to be a rifle in his right hand.
Danish Prime Minister Mette Frederiksen said the Scandinavian country had been hit by a “cruel attack”.
“It is incomprehensible. Heartbreaking. Pointless,” she said. “Our beautiful and usually so safe capital was changed in a split second.”
Images from the scene showed people running out of the mall, and TV2 posted a photo of a man being put on a stretcher. After the shooting, an enormous contingent of heavily armed police officers patrolled the area, with several fire department vehicles also parked outside the centre.
The royal palace said a reception with Crown Prince Frederik connected to the Tour de France cycling race had been cancelled.
The first three stages of the race were held in Denmark this year. The reception was due to be held on the royal yacht that is moored in Soenderborg, the town where the third stage ended.
In a joint statement, Queen Margrethe, her son Crown Prince Frederik and his wife, Crown Princess Mary, said: “We do not yet know the full extent of the tragedy, but it is already clear that more people have lost their lives and that even more have been injured.
“The situation calls for unity and care.”
The shooting came a week after a mass shooting in neighboring Norway, where police said a Norwegian man of Iranian origin opened fire during an LGBTQ festival, killing two and wounding more than 20.
It was the worst gun attack in Denmark since February 2015, when a 22-year-old man was killed in a shootout with police after going on a shooting spree in the capital that left two people dead and five police officers wounded.