oracle - Pl / SQL Oracle 帮助在子查询中运行日期
问题描述
如何通过子查询获取最大值的日期,我不能将日期放在主查询中,因为我必须将它添加到组中,因为它会给我带来很多数据
这是代码:
SELECT MAX (A1.VALOR) AS VALOR,
(SELECT sq1.FECHA
FROM VARIABLE_VALORES_SMEC sq1
WHERE sq1.ID_AGENTE = A1.ID_AGENTE)
MES, -- {<-- Here is the Problem}
(SELECT CODIGO_AGENTE
FROM AGENTES
WHERE ID_AGENTE = A1.ID_AGENTE)
Agentess,
(SELECT NOMBRE_AGENTE
FROM AGENTES
WHERE ID_AGENTE = A1.ID_AGENTE)
Nombre_Agente
FROM VARIABLE_VALORES_SMEC A1
WHERE A1.VALOR < '1'
AND A1.VALOR != '0'
AND A1.ID_AGENTE IN (SELECT C1.ID_AGENTE
FROM VARIABLE_VALORES_SMEC C1
WHERE A1.FECHA = C1.FECHA)
AND A1.ID_AGENTE IN (SELECT B1.ID_AGENTE
FROM AGENTES B1
WHERE ID_CATEGORIA_AGENTE = 'AC006')
AND (A1.FECHA BETWEEN (ADD_MONTHS (TO_DATE ( :FECHAIN, 'MM/DD/YYYY'),
-1))
AND (LAST_DAY (
ADD_MONTHS (
TO_DATE ( :FECHAIN, 'MM/DD/YYYY'),
-1))))
AND A1.ID_VARIABLE LIKE '%_calc_total_pot@%'
GROUP BY ID_AGENTE
解决方案
您可以使用row_number
分析功能来获取value
最高的记录并使用该fecha
记录的。使用以下子查询:
(Select fecha from
(SELECT sq1.FECHA, row_number() over (order by sq1.value desc nulls last) as rn
FROM VARIABLE_VALORES_SMEC sq1
WHERE sq1.ID_AGENTE = A1.ID_AGENTE)
Where rn = 1) MES
推荐阅读
- javascript - 为什么素数分解函数不能正常工作?
- javascript - Kubernetes Javascript 客户端库适用于本地但不适用于 GKE
- r - 用 ggplot 绘制多个 ACF
- python - 我想要多个列表指向python中的相同内存
- keyboard - AutoHotkey 用 [Right CTRL] + i, j,k,l 模拟箭头键
- powershell - Powershell枚举访问数据库中的子对象
- php - laravel 不显示来自 mysql 数据库的图像
- asp.net-mvc - 带有 .NET Framework 客户端的 IdentityServer4
- oracle - 循环并选择每一行的结果
- c - 如何从函数返回数组?