【发布时间】:2014-03-31 20:10:02
【问题描述】:
我是 SQL 查询领域的新手。 我需要消除重复的 Staff # 并仅检索突出显示的行。 非常感谢任何帮助。
Staff# Pay_DT Due_DT loan_flag housing
------------------------------------------------------------------------
123-45-6789 14-Feb-14 3-Jan-14 Y null
123-45-6789 14-Feb-14 3-Jan-14 Y Annual
123-45-6789 14-Feb-14 13-Jan-14 Y null
**123-45-6789 14-Feb-14 13-Jan-14 Y Annual**
123-45-6789 null null Y null
123-45-6789 null null Y Annual
【问题讨论】:
-
为什么是那一行?您的主题谈论“最近的日期”。你不说那是哪个日期。有 4 行具有相同的最大值
pay_dt。有两行具有相同的最大值pay_dt和due_dt。你为什么选择一个而不是另一个? -
您只想返回那一行?
-
这是历史数据。我需要知道将住房设置为年度并付款的 Pay DT。感谢您的及时回复。
-
@咖啡 - 是的。该行是期望的结果。
-
嘿,旁注。您似乎在数据库中使用 SSN 作为标识符。我建议你尽快改变它,如果你失去它们,这是一笔大而昂贵的交易。而且它的效率较低,因为您需要使用字符串而不是数字作为标识符。通常不是最好的主意。
标签: sql oracle oracle-sqldeveloper analytic-functions