在SQL Server中仅使用一个选择来获取倒数第二行吗? [英] Taking the second last row with only one select in SQL Server?

查看:264
本文介绍了在SQL Server中仅使用一个选择来获取倒数第二行吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图用SQL Server选择倒数第二行.所以我写了这样的查询:

I was trying to select the second last row with SQL Server. So I wrote a query like this:

SELECT TOP 1 * From Cinema 
WHERE CinemaID!=(SELECT TOP 1 CinemaID 
                 FROM Cinema
                 ORDER BY CinemaID DESC)                      
ORDER BY CinemaID DESC 

它做了我需要的.但是我只想选择一个就可以做同样的事情.

and it did what I need. But I want to do the same thing with only one select.

我了解到 MySql 中的 LIMIT 子句可以做到这一点.但是我找不到任何等效的东西 其中.因此,感谢您对找到有用的内容的帮助.

I read that the LIMIT clause in MySql does that. But I couldn't find any equivalent of that. So I appreciate any help about finding something useful.

推荐答案

要一次选择最后第二行:

To get the 2nd last row in one select:

SELECT TOP 1 * From
(select Top 2 * from Cinema ORDER BY CinemaID DESC) x                     
ORDER BY CinemaID

实际上,这只是一个"选择,因为外部选择仅超过2行.

It's really only "one" select because the outer select is over only 2 rows.

这篇关于在SQL Server中仅使用一个选择来获取倒数第二行吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆