我想對我的資料進行查詢,并且只想為日期較大的每個產品名稱回傳 1 行。
資料:
╔═══════════╦═════════════╦═══════╦═══════╗
║ ProductID ║ ProductName ║ Total ║ date ║
╠═══════════╬═════════════╬═══════╬═══════╣
║ 1001 ║ abc ║ 12 ║ 2 ║
║ 1002 ║ abc ║ 23 ║ 4 ║
║ 2002 ║ xyz ║ 8 ║ 5 ║
║ 3004 ║ ytp ║ 15 ║ 1 ║
║ 4001 ║ aze ║ 19 ║ 1 ║
╚═══════════╩═════════════╩═══════╩═══════╝
我的意思是我想看到這個結果:
╔═══════════╦═════════════╦═══════╦═══════╗
║ ProductID ║ ProductName ║ Total ║ date ║
╠═══════════╬═════════════╬═══════╬═══════╣
║ 1002 ║ abc ║ 23 ║ 4 ║
║ 2002 ║ xyz ║ 8 ║ 5 ║
║ 3004 ║ ytp ║ 15 ║ 1 ║
║ 4001 ║ aze ║ 19 ║ 1 ║
╚═══════════╩═════════════╩═══════╩═══════╝
uj5u.com熱心網友回復:
嘗試這個 :
SELECT DISTINCT ON (ProductName)
ProductID, ProductName, Total, date
FROM your_table
ORDER BY ProductName, date DESC
uj5u.com熱心網友回復:
SELECT *FROM
(
SELECT X.ProductID,X.ProductName,X.Total,X.DATE,
ROW_NUMBER()OVER(PARTITION BY X.PRODUCTNAME ORDER BY X.DATE DESC)XCOL
FROM YOUR_TABLE AS X
)A WHERE A.XCOL=1
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/352639.html
標籤:sql 数据库 PostgreSQL
