我必须输入表格最后一行的值到另一个表格。因此,在插入查询中,我用来选择查询以获取我想要的值。 查询执行时没有任何错误。但是它给出了表格的第一行而不是最后一行。
这是我的查询
SELECT top 1 ref_no FROM MASTER_CAL
答案 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