The attack occurred in crowded hallways just minutes before the start of school. Of the 19 students injured, four suffered serious wounds, but all were expected to survive, hospital officials said. The injured officer was discharged.
Murrysville police Chief Thomas Seefeld said the bloody crime scene at Franklin Regional High School, some 15 miles east of Pittsburgh, was "vast" and may take a couple of days to process. School superintendent Gennaro Piraino said the school would be closed for the foreseeable future.
"Our focus is on our students, staff and the community," Piraino said. "I pray and we pray that this doesn't happen in any school."
Police didn't immediately name the suspect, who was taken into custody and driven to and from the police station in the back of a cruiser for treatment for a minor hand wound.
Investigators haven't determined a motive, but Seefeld said they're looking into reports of a threatening phone call between the suspect and another student the night before. Seefeld didn't specify whether the suspect reportedly received or made the call.
The chief arrived to find students running out of the school at about 7:15 a.m.
Michael Float, an 18-year-old senior, said he had just gotten to school when he saw "blood all over the floor" and smeared on the wall near the main entrance. Then he saw a wounded student.
"He had his shirt pulled up and he was screaming, 'Help! Help!'" Float said. "He had a stab wound right at the top right of his stomach, blood pouring down."
Float said he saw a teacher applying pressure to the wound of another student who had been stabbed.
Float said he knew who the suspect was but didn't know him personally. "I heard he's a very nice kid. I don't know what drove him to do it," Float said.
Two student victims were in critical condition, according to Dr. Mark Rubino of Forbes Regional Medical Center, the closest hospital to the school, where eight victims were taken.
The University of Pittsburgh Medical Center treated a dozen patients. Officials said a 17-year-old boy and 14-year-old boy were in critical condition, a 17-year-old boy and a 16-year-old boy were in serious condition, and a 17-year-old boy and two 17-year-old girls were in fair condition.
Five patients had been discharged, including three 15-year-old boys, a 16-year-old girl and an adult, who is believed to be the school officer who suffered only superficial wounds.
Seefeld wouldn't detail the carnage beyond saying, "The juvenile went down the hallway and was flashing two knives around and injured the people."
Westmoreland County public safety spokesman Dan Stevens said not every injured student was stabbed, and that some suffered scrapes and cuts in the mayhem.
The chief said someone, possibly a student, pulled a fire alarm after seeing some of the victims being stabbed. Although that created chaos, he said, it also resulted in students running out of the school to safety faster than they might have otherwise.
"The fire alarm being pulled probably assisted with the evacuation of the school and that was a good thing that that was done," Seefeld said.
Authorities were crediting an assistant principal with subduing the suspect. Officials didn't immediately release his name, but he was identified by students as Sam King.
King's son told The Associated Press that his father was treated at a hospital, though authorities have said he was not wounded by the knife and is doing fine.
"He says he's OK. He's a tough cookie and sometimes hides things, but I believe he's OK," Zack King said.
King said his father was to be interviewed by police but said little about his role in the attack.
"I'm really happy. I'm proud of him," King said, adding his thoughts are with "the victims and their families who have to deal with this, and I hope the best for all of them and my prayers are with them."
Rubino, the hospital physician, said a girl who wasn't wounded likely kept an injured schoolmate from bleeding to death.
"She displayed an amazing amount of composure to really help that friend who has having pretty significant bleeding at that point, and the pressure that she applied probably played a significant role in his ability to survive this," Rubino said.
Public safety and school officials said an emergency plan worked as well as could be expected in this district of 3,600 students who live in the bedroom communities of Murrysville, Export and Delmont. The elementary and middle schools are part of the same campus as the high school and were to remain open.
The district conducted an emergency exercise three months ago and a full-scale drill about a year ago. "The plan will be reviewed again after this situation to see if it can be improved upon," Stevens said.
"We haven't lost a life and I think that's what we have to keep in mind," he said.