postgrel实现相同id数据合并

需求如下:
有表结构如下

id name create_time
1 王二狗 2018-12-25 11:22:00
2 张三疯 2018-12-25 11:23:00
2 李四蛋 2018-12-25 12:23:00

现在需要根据时间排序后将相同id的字段合并起来并取出其中最大的时间,sql写法如下:
select id max(t.create_time) , string_agg(name, ’ | ') as name, string_agg(cast( t.create_time as text), ’ | ') as name, ( select * from table_test order by create_time desc) as t group by t.id

查出来数据结果如下:

id max name create_time
2 2018-12-25 12:23:00 张三疯 | 李四蛋 2018-12-25 12:23:00| 2018-12-25 11:23:00
1 2018-12-25 11:22:00 王二狗 2018-12-25 11:22:00

你可能感兴趣的:(node学习)