小编典典

Oracle 11g SQL在多列查询的一列中获取唯一值

sql

给定一个人表 A* ,其母语和其他由 表示的列C3 .. C10 *

表A

个人语言...
鲍勃英语
约翰·英语
弗拉德俄语
奥尔加俄语
乔斯西班牙语

如何构造一个查询,为每种不同的语言选择一行的所有列?

所需结果

个人语言...
鲍勃英语
弗拉德俄语
乔斯西班牙语

对我而言,每种不同语言的哪一行产生结果都无关紧要。在上面的结果中,我选择了每种语言的最低行号。


阅读 229

收藏
2021-04-15

共1个答案

小编典典

埃里克·彼得罗列(Eric Petroelje)几乎正确:

SELECT * FROM TableA
WHERE ROWID IN ( SELECT MAX(ROWID) FROM TableA GROUP BY Language )

注意:使用ROWID(行唯一ID),而不是ROWNUM(它给出结果集中的行号)

2021-04-15