Python 获得同类产品中最受欢迎的产品

Python 获得同类产品中最受欢迎的产品,python,sql,postgresql,psycopg2,Python,Sql,Postgresql,Psycopg2,我的Postgres数据库中有两个表 第一表“产品”: 还有我的第二张桌子“pop_products”: 它包含产品id和它们的销售次数。 注意:“pop_products”中的“product_id”不是外键 CREATE TABLE if not exists POP_PRODUCTS (product_id varchar PRIMARY KEY, freq int); 我的目标是找到最受欢迎的同类产品 我的代码到目前为止: SELECT product_id FROM products

我的Postgres数据库中有两个表

第一表“产品”:

还有我的第二张桌子“pop_products”: 它包含产品id和它们的销售次数。 注意:“pop_products”中的“product_id”不是外键

CREATE TABLE if not exists POP_PRODUCTS (product_id varchar PRIMARY KEY, freq int);
我的目标是找到最受欢迎的同类产品

我的代码到目前为止:

SELECT product_id FROM products 
HERE category LIKE '""" + category[0] + """'
AND product_id NOT LIKE CAST(""" + productid + """ AS varchar)

在过去的30分钟里,我一直坐在这里挠头,试图找出一个解决办法,但直到现在还没有找到答案。

嗯。将表连接在一起后,可以在上使用
distinct:

select distinct on (p.category) p.*, pp.freq
from pop_products pp join
     products p
     using (product_id)
order by p.category, pp.freq desc;
select distinct on (p.category) p.*, pp.freq
from pop_products pp join
     products p
     using (product_id)
order by p.category, pp.freq desc;