The shooting took place near Eastern High School in Iowa, USA, on Monday afternoon local time, reports the police.
Police said on arrival they found three students, all with gunshot wounds.
One of the victims, a 15-year-old boy, died during treatment at the district hospital, while two other teenagers remain in critical condition.
The school, located in Des Moines, was closed, and the exact circumstances of the shooting are unclear.
Police added that the shots were apparently from a moving car.
Des Moines public schools tweeted: “There have been reports of shootings near Eastern High School. Police are conducting an active investigation. The county is working with staff and families. We will have more information when it becomes available.”
Des Moines Police, Des Moines Fire Service and Des Moines Public Security Service were on the scene a few minutes later.
Des Moines Police Sergeant Paul Paris said: “We have three children in the hospital, but we hope for the best for them,” said Paul Paris.
Oriental High School student Kaylee Shannon told KCCI 8 she was on the street in the school parking lot when she heard the shooting.
She said: “I was just sitting in my friend’s car and then suddenly I heard 11 shots and screams of some boys.”
The school administration said that a “grief team” would be provided for the students.
Superintendent Thomas Achart said the shooting is another example of the need to change gun laws in the United States.
He said: “We live in an age when shootings in and around schools have become too common.
“It is unfortunate that our state and our country have become a place where firearms are too easily accessible.
“We remain committed to protecting our students and staff, but real changes in gun and access laws will help us greatly.”
Police said they did not believe in continuing the threat to the population.
They also detained potential suspects and said no charges have been filed so far.
To get the latest news and stories from around the world from the Daily Star, sign up for our newsletter by clicking here.