sql >> Databáze >  >> RDS >> Sqlserver

SQL dotaz pro získání nejnovějších cen v závislosti na datu

Nejjednodušší by bylo použít CTE s ROW_NUMBER funkce:

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. Obnovení programu Windows, když jiní uživatelé provedou změny?

  2. regexp_matches je lepší způsob, jak se zbavit vracejících se složených závorek

  3. Integrace SQLCipher s greenDAO

  4. Jak implementovat podmíněnou uloženou proceduru Upsert?