我有以下sql代码:
select upper(regexp_substr(street1, '\S+$'))
但我不知道应该将 distinct 关键字放在哪里才能在表中具有唯一值,因为我打印出许多重复值。
编辑 - 来自下面的评论。
完整查询(错误):
select distinct UPPER(REGEXP_SUBSTR(STREET1, '\S+$'))
from HELENS_DATA
order by REGEXP_SUBSTR(STREET1, '\S+$') asc
错误信息:
ORA-01791:不是 SELECTed 表达式 01791。00000 -“不是 SELECTed 表达式” *原因:*操作:第 3 行错误,第 24 列
完整查询(作品):
select distinct UPPER(REGEXP_SUBSTR(STREET1, '\S+$'))
from HELENS_DATA
order by UPPER(REGEXP_SUBSTR(STREET1, '\S+$')) desc;
请注意,初始查询试图通过使用 UPPer() 函数将查询值更改为上限,但是我错误地忽略了 ORDER BY 子句中的函数,这不是“DISTINCT”的错。