У меня есть таблица с информацией о рейсах между городами, которая выглядит следующим образом:
origin_city dest_city time
Dothan AL Atlanta GA 171
Dothan AL Atlanta GA 171
Dothan AL Elsewhere AL 2
Dothan AL Elsewhere AL 2
Dothan AL Elsewhere AL 2
Boston MA New York NY 5
Boston MA City MA 1
New York NY Boston MA 5
New York NY Boston MA 5
New York NY Boston MA 5
New York NY Poughkipsie NY 2
Я хочу найти для каждого исходного города процент рейсов, продолжительность которых менее 3 часов.Таким образом, результаты будут такими:
Dothan AL 60
Boston MA 50
New York NY 25
Код, который я думал, будет работать, выглядит следующим образом:
SELECT F.origin_city as origin_city,
((SELECT COUNT(*) FROM Flights as F2
WHERE F2.actual_time < 3) / (SELECT COUNT(*) FROM Flights as F3)) * 100
AS percentage
FROM Flights as F
GROUP BY F.origin_city
ORDER BY percentage;
GO
Когда я запускаю его, я получаю список городов происхождения истолбец для процента, как и ожидалось, но процент всегда равен 0. Я все еще довольно озадачен подзапросами (как вы можете видеть).