繁体   English   中英

SQL:如何获取右列中最大值的左列属性

[英]SQL: How to get left column attribute of Max value in the right column

我是 SQL 的新手,并且对如何执行查询有疑问我有下表

在此处输入图像描述

我如何为每个产品 ID 退货,这是该商品销售最多的国家/地区

所以答案应该是:

1: United States 
2: United States/ Brazil (Either one but not both)
3 Peru/ United States  (Either one but not both)

您可以使用row_number()

select t.*
from (select t.*, row_number() over (partition by productid order by amount desc) as seqnum
      from t
     ) t
where seqnum = 1;

注意:相关子查询将返回与最大值匹配的所有行。 使用row_number()保证每个产品只返回一行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM