
无法代替,也是数据库本身的限制。
1,oracle的rowid在普通表中是能唯一标记一行记录,可以快速定位。
2,在Postgresql中有一个与rowid差不多的就是oid,但这个默认没有的 ,要在建表的时候指定with oids才有。这个也可以唯一标记并快速定位行记录。
3,在GREENPLUM中,一个OID确实是可以找到多行,这是因为GREENPLUM是由多个INSTANCE组成的。
数据仓库
数据仓库——collect_set函数、NVL函数、日期处理

Poolweet_
原创
关注
0点赞·881人阅读

目录
1collect_set函数
2nvl函数
3日期处理函数
1collect_set函数
数据:
id order-type order-number
1 aa 5
2 bb 2
1 bb 1
2 aa 3
1 aa 2
需求:对用户的订单进行分析,将不同订单类型分别多少单展示出来,每个用户一行
实现:
1使用concat()函数将order_type和order_number连接起来
concat(order_type,'(',order_number,')')
2使用concat_ws()和collect_set()进行合并行
将上面列表中一个user可能会占用多行转换为每个user占一行的目标表格式,实际是“列转行”
select user,concat_ws(',',collect_set(concat(order_type,'(',order_number,')'))) order from table group by user
order是别名
以上就是关于gp里用什么代替oracle里rownum,用什么代替rowid全部的内容,包括:gp里用什么代替oracle里rownum,用什么代替rowid、collecr_set函数在gp数据库怎么实现、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)