我遇到一些问题,从具有一些重复值的表中返回唯一结果。我使用的表格如下:
Venue ID | Venue | Venue Phone | Venue Address|
10659 Ottawa
10587 Toronto
10967 Ottawa
10492 Hamilton
10595 Hamilton
我需要正确显示场地名称,但返回场地ID(我在Oracle Apex中使用值列表时只能使用两列)。问题是场地名称可以重复,但场地ID始终是唯一的。因此,使用我一直用于其他列表的查询,我将最终得到重复的场地名称。有没有可以实现我想要的查询?
答案 0 :(得分:1)
如果你不关心选择哪个场地ID,你可以简单地做一个GROUP BY并选择一个更大的VENUE_ID
SELECT max(venue_id) venue_id, venue venue_name
FROM table_name
GROUP BY venue
答案 1 :(得分:1)
您也可以使用Windows功能,例如
SELECT *
FROM (
SELECT venue_id,
venue
--other fields
ROW_NUMBER() OVER (ORDER BY venue_id PARTITION BY venue) AS num
FROM table_name
)a
WHERE num=1
答案 2 :(得分:0)
SELECT MIN(ID), VENUE
FROM <table>
GROUP BY VENUE
会给你......
Venue ID | Venue | More columns
10659 Ottawa
10587 Toronto
10967 Ottawa
10492 Hamilton
不确定这是不是你想要的?