Sql 如何从返回的记录集中选择最新记录?
我在SQLServer2008中有SQL表,我想得到最新的记录,这取决于它的日期 例如,假设我有一些记录,其中有一列和一个日期列,其中包含创建记录的日期。 日期列包含以下日期。12月22日、23日、24日、25日、26日至12月 现在,我想获取小于12月25日的记录,但是如果我写查询,我想要最新的日期记录Sql 如何从返回的记录集中选择最新记录?,sql,sql-server-2008,Sql,Sql Server 2008,我在SQLServer2008中有SQL表,我想得到最新的记录,这取决于它的日期 例如,假设我有一些记录,其中有一列和一个日期列,其中包含创建记录的日期。 日期列包含以下日期。12月22日、23日、24日、25日、26日至12月 现在,我想获取小于12月25日的记录,但是如果我写查询,我想要最新的日期记录 select * from Table where CreateDate < '25-Dec-2012' 从CreateDate
select * from Table where CreateDate < '25-Dec-2012'
从CreateDate<'25-Dec-2012'所在的表格中选择*
然后它将返回3条记录,但我想从中得到最新的记录,即12月24日的记录
怎么做 您应该将
TOP 1
添加到查询中,并按照与自然顺序相反的顺序对其排序,以便首先获取最后一条记录。假设默认顺序为按升序排列的按CreateDate
,则按CreateDate DESC排序的顺序应执行以下操作:
SELECT TOP 1 *
FROM Table
WHERE CreateDate < '25-Dec-2012'
ORDER BY CreateDate DESC
选择前1名*
从桌子上
其中CreateDate<'2012年12月25日'
按CreateDate描述订购
您应该向查询中添加TOP 1
,并按照与自然顺序相反的顺序对其排序,以便首先获取最后一条记录。假设默认顺序为按升序排列的按CreateDate
,则按CreateDate DESC排序的顺序应执行以下操作:
SELECT TOP 1 *
FROM Table
WHERE CreateDate < '25-Dec-2012'
ORDER BY CreateDate DESC
选择前1名*
从桌子上
其中CreateDate<'2012年12月25日'
按CreateDate描述订购
您必须使用订单
和限额
select * from Table where CreateDate < '25-Dec-2012' order by CreateDate DESC LIMIT 1
从表格中选择*,其中CreateDate<'25-Dec-2012'订单按CreateDate描述限制1
您必须使用订单
和限额
select * from Table where CreateDate < '25-Dec-2012' order by CreateDate DESC LIMIT 1
从表格中选择*,其中CreateDate<'25-Dec-2012'订单按CreateDate描述限制1
请尝试:
select
top 1 *
from Table
where CreateDate < '25-Dec-2012'
order by CreateDate desc
选择
前1名*
从桌子上
其中CreateDate<'2012年12月25日'
按CreateDate描述订购
请尝试:
select
top 1 *
from Table
where CreateDate < '25-Dec-2012'
order by CreateDate desc
选择
前1名*
从桌子上
其中CreateDate<'2012年12月25日'
按CreateDate描述订购
使用TOP
SELECT TOP 1 *
FROM TABLENAME
WHERE CreateDate < '25-Dec-2012'
ORDER BY CreateDate DESC
选择前1名*
从表名
其中CreateDate<'2012年12月25日'
按CreateDate描述订购
使用TOP
SELECT TOP 1 *
FROM TABLENAME
WHERE CreateDate < '25-Dec-2012'
ORDER BY CreateDate DESC
选择前1名*
从表名
其中CreateDate<'2012年12月25日'
按CreateDate描述订购
u可以包括“顶部”作为
根据CreateDate描述,从CreateDate<'25-Dec-2012'订单所在的表格中选择前1*;
u可以包括“顶部”作为
根据CreateDate描述,从CreateDate<'25-Dec-2012'订单所在的表格中选择前1*;
OP说每个日期只有一行,因此2012年12月24日的行将是理想的行
从CreateDate='24-Dec-2012'的表格中选择*
OP说每个日期只有一行,因此带有24-Dec-2012的行将是所需的行
从CreateDate='24-Dec-2012'的表格中选择*
使用此选项,可以正常工作,手动检查:)
选择前1个*
从表名
其中Createdate<'2012年12月25日'
按Createdate描述订购
使用此选项,可以正常工作,手动检查:)
选择前1个*
从表名
其中Createdate<'2012年12月25日'
按Createdate描述订购
Limit在SQL Server中无效Limit在SQL Server中无效从ProductPrice中选择TOP 1*,其中ProductID=1601和PriceListCode=1,并从2012年12月25日“订单生效日期按生效日期从描述”
这是正确的查询吗?请手动检查并确认结果,我认为此查询中没有任何问题。从ProductPrice中选择TOP 1*,其中ProductID=1601和PriceListCode=1,并从<'25-Dec-2012'ORDER BY EffectiveFrom DESC中选择EffectiveFrom
这是正确的查询吗?请手动检查并确认您的结果,我认为此查询中没有任何问题。您好,上面查询中的一个问题是,如果我使用大于等于,则不会检索最新记录从CreateDate@Nil所在的表中选择前1*这通常发生在CreateDate
是DateTime
对象时:'25-Dec-2012'
是午夜;如果CreateDate
有一个时间部分,那么它不会进行相等的比较。对于一个单独的问题来说,这可能是一个很好的主题。嗨,上面查询中的一个问题如果我使用大于等于,那么它将不会检索最新记录从CreateDate@Nil所在的表中选择前1*这通常发生在CreateDate
是DateTime
对象时:'25-Dec-2012'
是午夜;如果CreateDate
有一个时间部分,那么它不会进行相等的比较。这可能是一个单独问题的好主题。