我确信这个问题很明显,但是在过去一小时左右的时间里,我一直在摆弄一套越来越复杂的子查询,并且无处可去。
我需要从表中选择一堆ID,其中该记录的最后日期在给定日期之前。我在努力:
SELECT id_field WHERE max(date_field) < 'some date'
但是得到'不能在哪里聚集'。我认为我可以选择在特定日期之上没有日期的地方,但此时我的大脑正挥舞着它的小白旗。
感谢。
答案 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
代替WHERE
。 HAVING
就像分组值的位置。