Я уверен, что этот вопрос очевиден, но я занимаюсь все более сложным набором подзапросов за последний час или около того и не получаю нигде.SELECT id_field WHERE max (date_field) <'some date'
Мне нужно выбрать кучу идентификаторов из таблицы, где последняя дата для этой записи предшествует заданной дате. Я пытался:
SELECT id_field WHERE max(date_field) < 'some date'
Но получение «не может иметь агрегат в поле». Я считал, что могу выбрать SELECT, где нет дат выше определенной даты, но в этот момент мой мозг размахивает маленьким белым флагом.
Спасибо.
Вам действительно не нужно возвращать max (date_field), чтобы использовать его в предложении HAVING. Это в основном правильно (хотя большинство систем будут жаловаться на то, что вы не назвали второе поле), но не совсем попало в точку в соответствии с тем, что хочет OP. –