2 最大列值 Oracle SQL 查询中其他列中的非重复值 [重复]

2 max column values distinct value in other column in Oracle SQL query [duplicate]

提问人:Ares24 提问时间:11/14/2023 最后编辑:Ares24 更新时间:11/16/2023 访问量:52

问:

这个问题在这里已经有答案了:
6天前关闭。

这篇文章在 6 天前被编辑并提交审核,未能重新打开帖子:

原始关闭原因未解决

我有下表

|纸箱 |反式 |CRT_DATE |
|10310907018 |3 |10月 03, 23 |
|10310907018 |2 |10月 03, 23 |
|10310907018 |1 |10月 03, 23 |
|10310907018 |4 |10月 04, 23 |
|12310162011 |1 |10月 23, 23 |
|12310162011 |2 |10月 23, 23 |
|12310162011 |3 |10月 23, 23 |
|12310162011 |4 |10月 24, 23 |
|12310162011 |5 |10月 24, 23 |
|12310162011 |6 |10月 24, 23 |
|12310162011 |7 |10月 24, 23 |
|12707482009 |2 |7月 27, 23 |
|12707482009 |1 |7月 27, 23 |
|12707482009 |3 |7月 30, 23 |
|12707482009 |4 |7月 30, 23 |
|230918008867 |1 |23 年 9 月 18 日 |
|230918008867 |2 |23 年 9 月 18 日 |
|230918008867 |3 |23 年 9 月 18 日 |

我想获得任何所选纸箱的最大 TRANS 值和最大 CRT_DATE 值。因此,如果我选择纸箱12707482009和230918008867,我希望结果是

|纸箱 |反式 |CRT_DATE |
|12707482009 |4 |7月 30, 23 |
|230918008867 |3 |23 年 9 月 18 日 |

我试过这个

select * 
from my_table
where (CARTON, CRT_DATE) in (select CARTON, max(CRT_DATE) 
                             from my_table 
                             group by CARTON)
  and CARTON in (‘12707482009','230918008867’)

这将返回最大日期, 所以我得到

|纸箱 |反式 |CRT_DATE
|12707482009 |3 |7月 30, 23 |
|12707482009 |4 |7月 30, 23 |
|230918008867 |1 |23 年 9 月 18 日 |
|230918008867 |2 |23 年 9 月 18 日 |
|230918008867 |3 |23 年 9 月 18 日 |

我想要最大的反式值,但无法弄清楚如何扩展我必须包含另一个条件的内容。为此,我正在使用 Oracle SQL。

任何帮助将不胜感激,谢谢。

SQL Oracle 每个组 Greatest-n-Each Group

评论


答: 暂无答案