可能很简单......我有一个SQL查询......
SELECT a,
CASE WHEN a=1 THEN 'one'
WHEN a=2 THEN 'two'
ELSE 'other'
END
FROM test;
(来自文档)
我想识别集合中的最后一条记录并根据该条件采取行动。
答案 0 :(得分:2)
根据您在问题中解释的内容,有两种可能的情况。
其中一个是在a
列中找到的最大值,您希望显示某条消息:
SELECT
a
, CASE
WHEN a = 1 THEN 'ONE'
WHEN a = 2 THEN 'TWO'
WHEN a = (SELECT MAX(a) FROM test) THEN 'MAX'
ELSE 'OTHER'
END
FROM TEST;
另一种可能的情况是,只有表格中的最后一条记录才能显示某条消息。在这种情况下,您的查询需要更改为:
SELECT
a
, CASE
WHEN a = 1 THEN 'ONE'
WHEN a = 2 THEN 'TWO'
WHEN a = (SELECT TOP 1 a FROM TEST ORDER BY a DESC) THEN 'MAX'
ELSE 'OTHER'
END
FROM TEST
ORDER BY A;