选择除顶行之外的所有行

D-D*_*wgg 7 sql sql-server rows

如何从第一行以外的表中返回所有行.这是我的sql语句:

Select Top(@TopWhat) * 
from tbl_SongsPlayed 
where Station = @Station 
order by DateTimePlayed DESC
Run Code Online (Sandbox Code Playgroud)

如何更改我的SQL语句以返回除第一行之外的所有行.

非常感谢

chr*_*isb 24

SQL 2012还有一个非常方便的OFFSET子句:

Select Top(@TopWhat) *
from tbl_SongsPlayed 
where Station = @Station 
order by DateTimePlayed DESC
OFFSET 1 ROWS
Run Code Online (Sandbox Code Playgroud)


Tar*_*ryn 5

根据您的数据库产品,您可以使用row_number():

select *
from
(
  Select s.*,
    row_number() over(order by DateTimePlayed DESC) rn
  from tbl_SongsPlayed s
  where s.Station = @Station 
) src
where rn >1
Run Code Online (Sandbox Code Playgroud)

  • 正确的`order by`语句是`order by DateTimePlayed desc`。 (2认同)