I want to find maximum value of the has_sold
column in an specific province
.For example in all rows with province = Tehran
which row has the most has_sold
value?
This is my table:
CREATE TABLE fp_stores_data_test (
time INTEGER,
province VARCHAR(20),
city VARCHAR(20),
market_id INTEGER,
product_id INTEGER,
price INTEGER,
quantity INTEGER,
has_sold INTEGER,
PRIMARY KEY (time, city, province, market_id ,product_id)
);
I had tried this SELECT DISTINCT city, max(has_sold) FROM fp_stores_data_test GROUP BY city
, but I'm not sure it's right.
You can try the below one using row_number()
select * from
(
select *, row_number() over(partition by province order by has_sold desc) as rn
from fp_stores_data_test
)A where rn=1