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

日付に応じて最新の価格を取得する SQL クエリ

    最も簡単なのは CTE を使用することです ROW_NUMBER を使用 関数:

    WITH CTE AS
    (
      SELECT dbo.twProducts.title, dbo.LowestPrices.productAsin, dbo.twProducts.sku, 
           dbo.LowestPrices.tweAmzPrice, dbo.LowestPrices.price, dbo.LowestPrices.priceDate,
           RN = ROW_NUMBER()OVER( PARTITION BY productAsin ORDER BY priceDate DESC)
      FROM   dbo.aboProducts INNER JOIN
           dbo.LowestPrices ON dbo.aboProducts.asin = dbo.LowestPrices.productAsin 
           INNER JOIN dbo.twProducts ON dbo.aboProducts.sku = dbo.twProducts.sku
    )
    SELECT * FROM CTE WHERE RN = 1
    


    1. plpgsqlの配列次元をループします

    2. C#アプリケーションでSQL Serverデータベースのすべてのテーブルの名前を取得できますか?

    3. 複数のテーブルを使用して削除し、サブクエリでテーブルを繰り返します

    4. クエリ内の式がいつ評価されるかを評価する