sql >> データベース >  >> RDS >> Sqlserver

SQL SELECTING ROW

    これは row_number() で簡単に実行できます ウィンドウ関数:

    <プレ>; with numbered as ( select row_number() over (order by [time]) rn , count(*) over() as cnt , * from Table1 ) select * from numbered cur left join numbered prev on cur.rn = prev.rn + 1 left join numbered next on cur.rn = next.rn - 1 where cur.rn in (1, cur.cnt) -- first or last row or (cur.id = 'start' and prev.id = 'stop') -- start after stop order by cur.rn

    SQL Fiddle での実例

    出力例が要件を満たしていないわけではありません。 3 つの基準 (最初の行、最後の行、最初から最後まで) のいずれにも一致しない行がいくつか含まれています。




    1. OracleからPostgreSQLへ—カーソルとltree

    2. NpgsqlConnectionでエンコーディングを設定するにはどうすればよいですか

    3. 合計レコード数とともにレコードのサブセットを取得する

    4. 各人が登録したものの数量を表示する円グラフを作成するにはどうすればよいですか?