我有一个表,表中有order\u id、customer id和product id列我想排名前5名的产品标识与产品标识257。我是否必须为所有使用产品标识257销售的产品创建一个新列?然后给他们排名?还是有办法过滤数据?请帮我指出正确的方向!
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;
1条答案
按热度按时间js4nwp541#
此查询是:
获得正确订单的过滤器。
聚合。
另一个过滤器获得前5名。
在sql中,如下所示: