2013-03-24 2 views
2

У меня есть следующая схема для таблицы в SQL.найти максимум без агрегатной функции

Owner (ownerid, name, phone, age) 

меня просят написать заявление, чтобы найти самый старый владелец (ы) в базе данных без использования каких-либо агрегатной функции, такие как MAX. Мне также запрещено использовать что-либо, что характерно для любой СУБД.

Благодарим за помощь.

+0

Это домашнее задание или какой-то вопрос интервью, который призван показать вам, насколько умный интервьюер? –

+0

Это из прошлого экзаменационного документа о курсе, который я принимаю в Uni по системам баз данных. –

+0

Итак, это вопрос, чтобы показать вам, насколько умный ваш инструктор :) –

ответ

2

Вы можете использовать EXISTS оператор, который является стандартным для всех SQL-совместимой СУБД:

SELECT age 
FROM Owner o1 
WHERE NOT EXISTS (SELECT 1 FROM Owner o2 WHERE o2.age > o1.age) 

Идея этого запроса само за себя: самый старый владелец такой владелец o1, что нет другой владелец o2 такой, что o2 старше o1.

Смежные вопросы