gpt4 book ai didi

SQL - 获取现有字段的最大值作为同一数据集中的独立字段

转载 作者:行者123 更新时间:2023-12-04 19:01:48 26 4
gpt4 key购买 nike

我有一个 SQL 问题。我正在使用 Squirrel SQL 客户端在 Oracle 11 上运行脚本。我的问题的一个简单例子。我有以下数据:

ID  Date
1 2016-01-01
2 2016-01-02
3 2016-01-03
4 2016-01-04
5 2016-01-05
6 2016-01-06
7 2016-01-07
8 2016-01-08
9 2016-01-09
10 2016-01-10

我想创建一个新字段,将最大日期值作为独立字段返回:
ID  Date        Max_Date
1 2016-01-01 2016-01-10
2 2016-01-02 2016-01-10
3 2016-01-03 2016-01-10
4 2016-01-04 2016-01-10
5 2016-01-05 2016-01-10
6 2016-01-06 2016-01-10
7 2016-01-07 2016-01-10
8 2016-01-08 2016-01-10
9 2016-01-09 2016-01-10
10 2016-01-10 2016-01-10

由于我整个脚本的复杂性,我不能使用子查询来做到这一点。一个简单的子查询解决方案可能如下所示。
SELECT a.ID, 
a.DATE,
b.MAX_DATE
FROM TABLE1,(SELECT ID,
max(DATE) MAX_DATE
FROM TABLE1
) b
WHERE 1=1

然而,我的“Table1”值是一个很长的脚本,带有一些定义的参数。如果我将此脚本复制到上面的子查询中,则在运行时定义我的参数时需要加倍。

所以我想知道,是否可以采用表中的现有字段并创建一个附加字段,该字段对所有行重复现有字段的最大值?

谢谢

最佳答案

使用窗口函数:

SELECT a.ID, 
a.DATE,
max(a.date) over () as max_date
FROM table1 a

关于SQL - 获取现有字段的最大值作为同一数据集中的独立字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35847727/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com