[英]SELECT on a unique column (DISTINCT?)
我有一個查詢給我以下表(ORDER BY b):
a b c
1 100 x1
1 90 x2
2 85 y1
1 80 x3
2 75 y2
2 70 y3
1 65 x4
我想要以下輸出:
a b c
1 100 x1
2 85 y1
這樣 a 中的值是唯一的,但它應該是 b 為最大值的行。 實現這一目標的最佳方法是什么?
在 Postgres 中,您可以使用distinct on
:
select distinct on (a) t.*
from mytable t
order by a, b desc
您可以使用inner join
select * from TableName as t1
inner join (
select a,max(b) as b from TableName
group by a
) as sub_table on sub_table.a = t1.a and sub_table.b = t1.b
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.