The man suspected of killing four people and injuring several others in Canada's worst school violence in a decade first shot his two brothers at home before opening fire at the remote community high school, according to the town's acting mayor.

Police said the suspect was arrested after the shooting in La Loche, Saskatchewan, an impoverished community about 600km north of the city of Saskatoon.

The town's acting mayor, Kevin Janvier, said that his 23-year-old daughter Marie, a teacher, was shot dead in the incident.

He also said police told him that the gunman first shot two of his siblings at home and then made his way to the school.

Officials have not given a motivation for the shooting or named the suspect or victims.

Police said they took the suspect into custody outside the school and seized a gun.

"Obviously this is every parent's worst nightmare," said Prime Minister Justin Trudeau, who initially reported five people were killed. He was in Davos, Switzerland, for the annual World Economic Forum.

Mass shootings are relatively rare in Canada, which has stricter gun laws than the United States.

In the country's worst school shooting, 14 college students were killed at Montreal's Ecole Polytechnique in 1989. A shooting in 1992 at Concordia University in Montreal killed four.

The latest shooting occurred in the high school, called the Dene Building, and another location in Saskatchewan, Mr Trudeau said.

Among Canada's provinces, Saskatchewan had the highest rate of police-reported family violence in 2014, double the national rate of 243 incidents per 100,000 people, according to a Statistics Canada report. 

Extra doctors and nurses were sent to treat patients in Keewatin Yatthe Regional Health Authority's 16-bed hospital, a spokesman said. He declined to say how many people had been injured.