Чтобы гарантировать получение единственного значения в подзапросе, нужно использовать агрегатную функцию без предложения GROUP BY. 45
Агрегатная функция вычисляет единственное значение, обрабатывая множество строк. 3 Некоторые из них: COUNT (количество), SUM (сумма), AVG (среднее), MAX (максимум) и MIN (минимум). 3
Например, если нужно увидеть все заказы, имеющие сумму выше средней на 4-е октября, то можно использовать такой запрос: 5
SELECT * FROM Orders WHERE amt > (SELECT AVG (amt) FROM Orders WHERE odate = 10/04/1990); 5
В этом примере все строки со значением в поле amt выше среднего значения на 4-е октября будут выбраны. 5
Важно учитывать, что сгруппированные агрегатные функции, определённые в терминах предложения GROUP BY, могут производить многочисленные значения и недопустимы в подзапросах. 5