Сумма донорской суммы - это общее количество крови, которое люди готовы сдать. Сумма акцепторной суммы - это общее количество крови, необходимое для этого города. Должно быть ровно две строки, которые обозначают наилучшее и худшее соотношение. Каждая строка должна содержать следующие атрибуты:
- Название города (ГОРОД)
- Соотношение (сумма донорской суммы / сумма акцепторной суммы)
Is там в любом случае я могу сжать это в один запрос, чтобы вернуть оба значения вместо двух отдельных запросов?
SELECT D.City, D.DA/A.AA AS Ratio
FROM
(SELECT City, SUM(Amount) AS DA FROM Donor
GROUP BY City) AS D
JOIN
(SELECT City, SUM(Amount) AS AA FROM Acceptor
GROUP BY City) AS A
ON D.CITY=A.CITY
ORDER BY Ratio ASC
LIMIT 1
SELECT D.City, D.DA/A.AA AS Ratio
FROM
(SELECT City, SUM(Amount) AS DA FROM Donor
GROUP BY City) AS D
JOIN
(SELECT DISTINCT City, SUM(Amount) AS AA FROM Acceptor
GROUP BY City) AS A
ON D.CITY=A.CITY
ORDER BY Ratio DESC
LIMIT 1