考虑下表:
+-------+-----------+-----------+-----------+
| ID | param1 | param2 | param3 |
+-------+-----------+-----------+-----------+
| 1 | 12 | 21 | 1 |
+-------+-----------+-----------+-----------+
| 2 | 11 | 3 | 22 |
+-------+-----------+-----------+-----------+
| 3 | 55 | 17 | 22 |
+-------+-----------+-----------+-----------+
我需要一个SQL查询,它获取单个参数的最新(=最高ID)值的值(例如,如果我想要最新的param2,我希望查询返回17)。 我必须说我对SQL没有任何了解,我刚刚在工作中遇到它,我需要针对这个特定问题的解决方案。当我搜索解决方案时,我只找到获取整行的解决方案,我只需要一个参数。 感谢。
答案 0 :(得分:4)
SQL Server:
SELECT TOP 1 Param2
FROM tableName
ORDER BY ID DESC
甲骨文:
SELECT Param2
FROM tableName
ORDER BY ID DESC
WHERE ROWNUM <= 1
的PostgreSQL:
SELECT Param2
FROM tableName
ORDER BY ID DESC
LIMIT 1
答案 1 :(得分:3)
快速修复:选择了您的查询@jarlh
SELECT param2
FROM tablename
WHERE id = (SELECT MAX(id) FROM tablename)
答案 2 :(得分:0)
非常简单的方法:
select *
from tablename
where id = (select max(id) from tablename)
如果有平局,将返回两行。