postgresql分析函数

SELECT uid, odate, num,
sum(num) over (),
sum(num) over (partition by uid),
sum(num) over (partition by uid,odate),
sum(num) over (order by uid,odate),
sum(num) over (order by uid,odate,num),
rank() over (partition by uid order by odate),
rank() over (partition by uid order by odate,num),
sum(num) over (partition by uid order by odate),
lead(num,1,0) OVER (partition by uid order by odate),
-num+lead(num,1,0) OVER (partition by uid order by odate),
1.0*num/sum(num) over() rate
  FROM dev."order";

SELECT name, course, score,
sum(score) over (order by course rows between unbounded preceding and current row),
sum(score) over (order by course range between unbounded preceding and current row)
  FROM dev.score;

 

 https://www.cnblogs.com/thescentedpath/p/analysisfunction.html

ORDER BY子句:分析函数中ORDER BY的存在将添加一个默认的开窗子句,这意味着计算中所使用的行的集合是当前分区中当前行和前面所有行;没有ORDER BY时,默认的窗口是全部的分区。

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Java调用PostgreSQL函数实现最短路径分析可以通过以下步骤实现: 1. 首先,确保已经安装了PostgreSQL数据库,并且已经创建了包含有关路径信息的数据表,比如有两列分别是起始节点和目标节点。 2. 在Java项目中,需要使用JDBC驱动程序来连接和操作PostgreSQL数据库。可以在项目的pom.xml文件中添加以下依赖: ``` <dependencies> <dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <version>版本号</version> </dependency> </dependencies> ``` 3. 在Java代码中,首先需要导入所需的包: ``` import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; ``` 4. 建立与PostgreSQL数据库的连接: ``` Connection connection = null; try { String url = "jdbc:postgresql://localhost:5432/数据库名"; String user = "用户名"; String password = "密码"; connection = DriverManager.getConnection(url, user, password); } catch (Exception e) { e.printStackTrace(); } ``` 5. 编写SQL语句来调用PostgreSQL函数实现最短路径分析: ``` String sql = "SELECT * FROM shortest_path('SELECT id,source,target,cost FROM 表名', 起始节点, 目标节点, false, false)"; ``` 这个SQL语句中的`表名`是存储路径信息的表的名字,`cost`是从起始节点到目标节点的代价。 6. 执行SQL语句并获取结果: ``` Statement statement = connection.createStatement(); ResultSet resultSet = statement.executeQuery(sql); while (resultSet.next()) { // 处理查询结果 } ``` 7. 在`while`循环中,可以通过`resultSet`来获取查询结果中的最短路径信息,比如获取路径的节点顺序、代价等。 8. 最后,记得关闭连接和释放资源: ``` resultSet.close(); statement.close(); connection.close(); ``` 以上就是使用Java调用PostgreSQL函数实现最短路径分析的大致步骤。根据实际情况,可能还需要根据具体需求进行一些参数设置和结果处理等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

只要开始永远不晚

谢谢打赏~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值