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

各行に対するフィールドの最後の発生を取得するSQL

    SQL Server 2012 以降では、 lag() を使用できます . SQL Server 2008 では、相関サブクエリまたは外部適用を使用できます。ここに 1 つの方法があります:

    select documentid, reference,
           (select top 1 documentid
            from table t2
            where t2.reference = t.reference and
                  t2.documentid < t.documentid
            order by documentid desc
           ) as LastDocumentId
    from table t;
      

    1. テキストとvarcharの違い(文字が異なります)

    2. SQLクエリで正規表現(置換)を実行する

    3. 左外部結合と左結合は同じですか?

    4. 1つの列を除くSQLのすべての列を選択するにはどうすればよいですか?