仅选择长时间不显示的记录

时间:2015-04-02 20:48:37

标签: sql sql-server tsql

我有一个由两列组成的数据库:

CardNumber           RecordDate

1`                   2015-03-01
2                    2015-04-01
3                    2015-04-02
4                    2015-03-18
2                    2015-03-19
3                    2015-03-18
1                    2015-03-01
4                    2015-04-02
2                    2015-03-30
2                    2015-03-01
1                    2015-03-01

我想在特定日期之前仅选择CardNumbers RecordDate(例如:2015-03-15)。因此,如果在cardNumber2015-03-22上记录了2015-03-01,则不应选择该2015-03-01。但是,如果最后一次记录了一张卡片,例如{{1}},则应该选择该卡片。

2 个答案:

答案 0 :(得分:1)

这将获得具有最后记录日期的卡号< '2015年3月15日'

select cardnumber
from tbl
group by cardnumber
having max(recorddate) < '2015-03-15'

答案 1 :(得分:0)

HAVING子句与MAX聚合

一起使用
SELECT CardNumber
FROM   SomeTable
GROUP BY CardNumber
HAVING MAX(RecordDate) < '2015-03-15'