如何编写一个sql查询来显示在同一个购物车中与特定产品一起销售的前5个商品?

beq87vna  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(387)

我有一个表,表中有order\u id、customer id和product id列
我想排名前5名的产品标识与产品标识257。
我是否必须为所有使用产品标识257销售的产品创建一个新列?然后给他们排名?
还是有办法过滤数据?
请帮我指出正确的方向!

js4nwp54

js4nwp541#

此查询是:
获得正确订单的过滤器。
聚合。
另一个过滤器获得前5名。
在sql中,如下所示:

select t.product_id, count(*)
from t
where exists (select 1
              from t t2
              where t2.order_id = t.order_id and t2.product_id = 257
             ) and
      t.product_id = 257
group by t.product_id
order by count(*) desc
fetch first 5 rows only;

相关问题