SELECT STUDENT_ID, STUDENT_NAME, EXPIRED_DATE
FROM MYTABLE AS X
WHERE EXPIRED_DATE < SDATE()
AND NOT EXISTS (SELECT "X"
FROM MYTABLE AS Y
WHERE Y.EXPIRED_DATE > X.EXPIRED_DATE)
FROM MYTABLE AS X
WHERE EXPIRED_DATE < SDATE()
AND NOT EXISTS (SELECT "X"
FROM MYTABLE AS Y
WHERE Y.EXPIRED_DATE > X.EXPIRED_DATE)
现在把正确答案贴出来:
SELECT *
FROM (SELECT STUDENT_ID, STUDENT_NAME, MAX(到期日期) AS MAX_DATE
FROM MYTABLE
GROUP BY STUDENT_ID, STUDENT_NAME)
WHERE MAX_DATE < DATE() 那么我上面的程序代码应该写成:
SELECT *
FROM (SELECT 学生编号, 学生姓名, MAX(到期日期) AS MAX_DATE
FROM MYTABLE
GROUP BY 学生编号, 学生姓名)
WHERE MAX_DATE < DATE()