我的数据库如下:
ID | First | Surname | DOB
-----------------------------
01 | Homer | Simpson | 12-May
02 | Homer | Simpson | 12-May
03 | Marge | Bouvier | 19-Mar
我希望在数据库上运行SQLselect
查询,通过合并重复行的唯一字段创建新的唯一ID来创建结果?
ID | First | Surname | DOB
----------------------------------
01 / 02 | Homer | Simpson | 12-May
03 | Marge | Bouvier | 19-Mar
您正在请求某种字符串聚合函数。这取决于数据库,但思路是:
select listagg(id, ' / ') within group (order by id) as ids,
first, surname, dob
from t
group by first, surname, dob;
listagg()
函数的名称和确切的语法因数据库而异。