Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Permintaan SQL untuk mendapatkan harga terbaru, tergantung pada tanggalnya

Cara termudah adalah menggunakan CTE dengan ROW_NUMBER fungsi:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mengubah kolom non-identitas secara terprogram menjadi identitas?

  2. Mengapa koneksi ODBC saya gagal saat menjalankan beban SSIS di Visual Studio tetapi tidak saat menjalankan paket yang sama menggunakan Execute Package Utility

  3. Haruskah Anda membuat beberapa panggilan penyisipan atau meneruskan XML?

  4. Kesalahan SQL Server 109:Ada lebih banyak kolom dalam pernyataan INSERT daripada nilai yang ditentukan dalam klausa VALUES

  5. baris dikonversi ke kolom di sql 2008