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

SQL Server 2005 - 値のグループ化、変更のみの表示

    次のように、一般的なテーブル式を使用して、date_loaded に基づく連続した行番号を含め、それを自己結合で使用します。

    CREATE TABLE #temp (
        value INT,
        date_loaded DATETIME
    )
    
    INSERT INTO #temp VALUES (1,'2012-03-7')
    INSERT INTO #temp VALUES (1,'2012-03-6')
    INSERT INTO #temp VALUES (1,'2012-03-5')
    INSERT INTO #temp VALUES (3,'2012-03-4')
    INSERT INTO #temp VALUES (4,'2012-03-3')
    INSERT INTO #temp VALUES (1,'2012-03-2')
    
    ;WITH cte AS (SELECT ROW_NUMBER() OVER (ORDER BY date_loaded) AS n, value, date_loaded FROM #temp)
    SELECT t2.value, t2.date_loaded
    FROM cte t2 LEFT JOIN cte t1 ON t2.n = t1.n + 1
    WHERE t2.value <> ISNULL(t1.value, -1)
    
    DROP TABLE #temp
    



    1. php-mysqlバージョンがMysqlサーバーと競合します

    2. にデータを渡すmysql

    3. TOP句を使用して、SQLServerクエリで返される行を制限する

    4. Updateステートメントでテーブルエイリアスを使用する良い方法はありますか?