簡體   English   中英

在唯一列上選擇(DISTINCT?)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM