如何选择表格中最后一行的列?

时间:2016-09-05 03:52:02

标签: sql sql-server select-query

我必须输入表格最后一行的值到另一个表格。因此,在插入查询中,我用来选择查询以获取我想要的值。 查询执行时没有任何错误。但是它给出了表格的第一行而不是最后一行。

这是我的查询

SELECT top 1 ref_no FROM MASTER_CAL

10 个答案:

答案 0 :(得分:5)

SELECT TOP 1 * FROM Table ORDER BY ID DESC
or
SELECT TOP 1 * FROM Table ORDER BY POST_DATE DESC

答案 1 :(得分:2)

您的最后一行取决于您的排序顺序。

为了确保每次你能做到这样的事情,你都会得到正确的结果。

SELECT top 1 ref_no FROM MASTER_CAL ORDER BY ID DESC

答案 2 :(得分:1)

如果将订单更改为降序,可能会有效。

例如:

SELECT top 1 ref_no FROM MASTER_CAL ORDER BY ID DESC;

答案 3 :(得分:0)

使用ORDER BY子句获得所需的结果。

如果您的表具有增量ID Colum使用该表对表进行排序,则使用某些函数(如row_ number)对数字ur表进行排序,并对数字列进行排序。

假设您的表具有标识列ID。

 SELECT top 1 ref_no
  FROM MASTER_CALL
  ORDER BY ID DESC 

如果您的表格没有标识列,请使用以下脚本。

 with cte_1
 As ( SELECT ref_no, ROW_NUBER( ORDER BY (select 1)) RNO
  FROM MASTER_CALL)
 SELECT ref_no 
 FROM cte_1
  ORDER BY  RNO DESC 

答案 4 :(得分:0)

我找到了回答。
这是我的查询,它完美无缺。

SELECT top 1 ref_no FROM MASTER_CAL order by ref_no desc

答案 5 :(得分:0)

如果您有索引列,请说' ref_no',然后使用

SELECT top 1 ref_no FROM MASTER_CAL order by ref_no desc

或者,如果你没有这样的东西,你将按如下方式制作额外的列row_number():

select top 1 a.ref_no
from
(
    select SlNo=row_number() over(order by (select 1)), ref_no 
    from MASTER_CAL
) a
order by slno desc

答案 6 :(得分:0)

同时插入临时表,并从中选择

即使您没有自动增量列

也可以
"granualarity"

答案 7 :(得分:0)

SELECT  ref_no FROM MASTER_CAL ORDER BY ID DESC limit 0,1

我认为您的AUTO_INCREMENT字段为ID,表名为MASTER_CAL。然后,上面的代码将帮助您找到此表中最后插入的行。

答案 8 :(得分:0)

在您的表ref_no列中设置为Identity Increment = 1,然后您可以尝试此查询:

SELECT TOP 1 ref_no FROM MASTER_CAL ORDER BY ref_no DESC

此查询提供您想要的确切结果。

答案 9 :(得分:-1)

试试这个:SELECT ref_no FROM MASTER_CAL ORDER BY ref_no DESC LIMIT 1