如何在使用ROW_NUMBER函数的SQL查询中剔除rn列
如何移除查询结果中的rn列
很简单,你只需要把外层查询的SELECT *改成明确指定你需要的列就行!
原来的语句里,子查询包含了uniqueID、timestamp和rn三列,外层用SELECT *会把这三列都返回。只要把外层的*替换成你实际需要的uniqueID和timestamp,就能剔除rn列了。
修改后的SQL语句:
SELECT uniqueID, timestamp FROM ( SELECT uniqueID, timestamp, ROW_NUMBER() OVER(PARTITION BY uniqueID ORDER BY timestamp DESC) rn FROM table_name ) a WHERE rn = 1
这样执行后,返回的结果就会是你想要的:
uniqueID timestamp 1 15:00 2 15:00
本质就是避免用SELECT *这种返回所有列的写法,精准指定需要的字段,就能过滤掉不需要的rn列啦。
内容的提问来源于stack exchange,提问作者otk
相关产品推荐
相关产品推荐

