【发布时间】:2020-07-13 20:09:15
【问题描述】:
例如,我在一张表中有如下值
Table A
----------------
item_name price departure
----------------
shoe 10 150
shoe 10 150
socks 2 100
socks 2 110
shirt 5 170
shirt 5 170
gloves 1 210
gloves 1 210
gloves 1 210
我想选择所有具有唯一 item_name 的行,所以简单的方法是使用 UNION
select item_name, price, departure from table A
UNION
select item_name, price, departure from table A
但是就像你看到的袜子有不同的出发点,我的结果是错误的,因为我得到了结果
Table A
----------------
item_name price departure
----------------
shoe 10 150
socks 2 100
socks 2 110
shirt 5 170
gloves 1 210
你能帮帮我吗,我在寻找没有左连接的简单方法,因为表 A 包含大量数据,我想优化
我想得到如下结果,其中袜子的部门最小(商品名称和价格)
Table A
----------------
item_name price departure
----------------
shoe 10 150
socks 2 100
shirt 5 170
gloves 1 210
感谢帮助
【问题讨论】:
-
你试过
select distinct吗? -
distinct 现在适用于具有不同出发点的所有列,结果将相同
-
group by和聚合函数? (array_agg、min、max等)
标签: sql oracle group-by greatest-n-per-group