我有一个如下表:
User Product Price City Month Year
------------------------------------------------
abc Pen 22 Mumbai JULY 2019
abc Pencil 21 Mumbai AUGUST 2019
abc Notebook 23 Mumbai SEPTEMBER 2019
abc Pen 22 Mumbai OCTOBER 2019
abc Pencil 21 Mumbai NOVEMBER 2019
abc Notebook 23 Mumbai DECEMBER 2019
xyz Pen 22 Mumbai JULY 2019
xyz Pencil 21 Mumbai AUGUST 2019
xyz Notebook 23 Mumbai SEPTEMBER 2019
xyz Pen 22 Mumbai OCTOBER 2019
xyz Pencil 21 Mumbai NOVEMBER 2019
xyz Notebook 23 Mumbai DECEMBER 2019
我想从价格最高的表中获取数据。
预期输出:
User Product Price City Month Year
----------------------------------------------------
abc Notebook 23 Mumbai SEPTEMBER 2019
abc Notebook 23 Mumbai DECEMBER 2019
xyz Notebook 23 Mumbai SEPTEMBER 2019
xyz Notebook 23 Mumbai DECEMBER 2019
我尝试了什么:
查询一:
SELECT * FROM
(SELECT *, ROW_NUMBER() OVER (partition by "User" ORDER BY "Price" desc) as col
FROM public.product)x
WHERE x.col=1
输出:
User Product Price City Month Year col
---------------------------------------------------------------
abc Notebook 23 Mumbai SEPTEMBER 2019 1
xyz Notebook 23 Mumbai DECEMBER 2019 1
在这里,我缺少 abc 的 12 月数据,xyz 用户也一样
查询 2:
SELECT * FROM
(SELECT *, ROW_NUMBER() OVER (partition by "User","Price" ORDER BY "Price" desc) as col
FROM public.product)x
WHERE x.col=1
输出:
User Product Price City Month Year col
--------------------------------------------------------------
abc Notebook 23 Mumbai SEPTEMBER 2019 1
abc Pen 22 Mumbai JULY 2019 1
abc Pencil 21 Mumbai AUGUST 2019 1
xyz Notebook 23 Mumbai DECEMBER 2019 1
xyz Pen 22 Mumbai JULY 2019 1
xyz Pencil 21 Mumbai NOVEMBER 2019 1
在这里,我得到了每种产品最高价格的行
有人可以帮我获得预期的输出吗?