Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Truy vấn SQL để nhận giá mới nhất, tùy thuộc vào ngày

Cách dễ nhất là sử dụng CTE với ROW_NUMBER chức năng:

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. Có nhược điểm nào khi sử dụng VARCHAR (MAX) trong một bảng không?

  2. tìm kiếm một từ khóa trong tất cả các Proc được lưu trữ cho một DB nhất định?

  3. 5 cách lấy tên tháng ngắn từ ngày trong SQL Server

  4. Chuyển đổi các hàng trong các cột trong SQL Server 2005

  5. Làm mới siêu dữ liệu trên các hàm người dùng t-SQL