SELECT id_field WHERE max(date_field)< '某个约会'

时间:2010-01-04 23:22:14

标签: sql postgresql

我确信这个问题很明显,但是在过去一小时左右的时间里,我一直在摆弄一套越来越复杂的子查询,并且无处可去。

我需要从表中选择一堆ID,其中该记录的最后日期在给定日期之前。我在努力:

SELECT id_field WHERE max(date_field) < 'some date'

但是得到'不能在哪里聚集'。我认为我可以选择在特定日期之上没有日期的地方,但此时我的大脑正挥舞着它的小白旗。

感谢。

3 个答案:

答案 0 :(得分:4)

SELECT id_field
     , max(date_field)
  FROM tbl
GROUP BY id_field
HAVING max(date_field) < 'some date'

答案 1 :(得分:2)

SELECT id_field 
  FROM tbl 
 GROUP BY id_field 
HAVING max(date_field) < 'some date' 

答案 2 :(得分:0)

使用HAVING代替WHEREHAVING就像分组值的位置。