我不知道该怎么做。我有3栏第一栏是母公司,第二栏是子公司,第三栏是收入。我想找出每个父母哪个孩子的收入最多,以及收入是多少。就像下面这样
Vodafone. Argentina. 5b Vodafone. Spain. 4b Vodafone. England. 10b
所以答案是
Vodafone. England 10b
抱歉格式化,在我手机上。
b91juud31#
你可以用 row_number() . 这是演示。
row_number()
select company, child, revenue from ( select *, row_number() over (partition by company order by cast(revenue as int) desc) as rn from yourTable ) subq where rn = 1
输出:
| company | child | revenue | | -------- | ------- | ------- | | Vodafone | England | 10 |
你可以用 dense_rank() 如果多个公司有相同的收入。
dense_rank()
xwbd5t1u2#
你可以试试下面这个-
select * from tablename where cast(revenue as int) = (select max(cast(revenue as int)) from tablename)
2条答案
按热度按时间b91juud31#
你可以用
row_number()
. 这是演示。输出:
你可以用
dense_rank()
如果多个公司有相同的收入。xwbd5t1u2#
你可以试试下面这个-