0

我找到了几种方法来查找表中的最后一条记录,但是如果它是最后一条记录,如何将变量设置为 true,如果不是,如何设置为 false?

Example 1) SELECT TOP 1 * FROM table_Name ORDER BY unique_column DESC 
Example 2) SELECT id from table_Name ORDER BY id DESC LIMIT 1

IF @LastRecord = 1

BEGIN
    --do something here     
END
4

2 回答 2

1

您可以使用窗口函数。例如:

select t.*,
       (case when id = max(id) over (order by id desc) then 1 else 0 end) as is_last_id
from t;
于 2019-09-13T17:44:59.473 回答
0

如果您有一列没有空值(例如:column_name)和增量值(例如 - 自动标识或日期时间),您可以使用 LEAD 来识别最后一行,如下所示。这将选择最后一行中只有值为“True”的所有行。

SELECT *,
CASE 
    WHEN LEAD(column_name) OVER(ORDER BY column_name) IS NULL THEN 'True'
    ELSE 'False'
End is_last_column
FROM your_table
于 2019-09-13T17:46:07.377 回答