Oracle10g 比较SQL中的两行

Oracle10g 比较SQL中的两行,oracle10g,Oracle10g,我想比较表中的两行。检索特定年份的第2行值小于同一年份的第1行值的记录: Year Line Dollar 2001 1 $50 2001 2 $50 2002 1 $100 2002 2 $100 2003 1 $150 2003 2 $100 结果是 Year Line Dollar 2003 1 $150 2003 2

我想比较表中的两行。检索特定年份的第2行值小于同一年份的第1行值的记录:

Year Line    Dollar
2001  1          $50
2001  2          $50

2002  1          $100
2002  2          $100

2003  1          $150
2003  2          $100
结果是

Year Line    Dollar
2003  1          $150
2003  2          $100

谢谢

欢迎来到StackOverflow。到目前为止,你尝试了哪些不适合你的方法?你说你的结果是2003年1美元150 2003年2美元100。这一行中的哪个字段比2002行低?我不太清楚,但这可能会有帮助:
从myTable a1中选择a1.*内部连接myTable a2,其中a1.Year=a2.Year和a1.Line
@dfmx123-这将适用于上面给出的记录示例,但我认为它也可能返回第1行小于第2行的情况(如果存在与该模式匹配的数据)。感谢您的快速回复。所有数据都位于同一个表中。Hi Jinru-在上面的示例中,它是同一个表。“yourtable”有两个别名,别名“a”表示所有的“第1行”条目,别名“b”表示所有的“第2行”条目。希望对您有所帮助!
select a.*, b.*
from yourtable a, yourtable b
where a.year = b.year
and a.line = 1
and b.line = 2
and a.dollar > b.dollar