Sql 仅选择长时间不显示的记录
我有一个由两列组成的数据库:Sql 仅选择长时间不显示的记录,sql,sql-server,tsql,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
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
我只想选择在某个日期(例如:
2015-03-15
)之前具有RecordDate
的CardNumbers
。因此,如果在2015-03-22
和2015-03-01
上记录了cardNumber
,则不应选择它。但是,如果上次记录的卡是在2015-03-01
上,则应选择该卡 将HAVING
子句与MAX
聚合一起使用
SELECT CardNumber
FROM SomeTable
GROUP BY CardNumber
HAVING MAX(RecordDate) < '2015-03-15'
选择卡号
从某处
按卡号分组
具有最大值(记录日期)<'2015-03-15'
这将获得最后记录日期的卡号<'2015-03-15'
select cardnumber
from tbl
group by cardnumber
having max(recorddate) < '2015-03-15'
选择卡号
来自tbl
按卡号分组
具有最大值(记录日期)<'2015-03-15'
那么,问题是什么?这应该很简单。你能告诉我们你试过什么吗?我想你需要一个小组来做聚合。真的。MySQL让我在这一点上无所事事,因为它不需要groupby
来工作。