私はPRODUCT_ID最大日付行にpostgresql
によって行の最大の日付を知りたい、製品によって最大の日付を持つ行を知りたいです
私はDISTINCTを試しましたが、成功することはできません!
私はPRODUCT_ID最大日付行にpostgresql
によって行の最大の日付を知りたい、製品によって最大の日付を持つ行を知りたいです
私はDISTINCTを試しましたが、成功することはできません!
select * from (
SELECT *, row_number() over (partition by Product_ID order by date desc) r
FROM table
) T
WHERE T.r=1
偉大な答え!その本当に役立つ –
歓迎@RohanNayaniそれはあなたが答えとしてカムマークを支援する場合 – mohan111
標準的な方法の1つは、サブクエリを使用して各製品IDの最大日付に対応するレコードを特定し、元のテーブルをINNER JOIN
で制限することです。
SELECT t1.*
FROM yourTable t1
INNER JOIN
(
SELECT PRODUCT_ID, MAX(DATE) AS DATE
FROM yourTable
GROUP BY PRODUCT_ID
) t2
ON t1.PRODUCT_ID = t2.PRODUCT_ID AND
t1.DATE = t2.DATE
これを行う別の方法は、ウィンドウ関数を使用する方法です。
あなたの迅速な対応に大変感謝しています! –
http://meta.stackoverflow.com/questions/285551/why-may-i-not-upload-images-of-code-on-so-when-asking-a-question/285557# 285557 –
'select * from product pどこにも存在しません(select * from product x where x.product_id = p.product_id and x.pdate> p.pdate); ' – joop