現想用
PostgreSQL寫一SQL語句,實現如下功能
使得結果集中的某一個屬性就是該條記錄處在結果集的第幾行。
想知道是否有現成的函數來實現這一功能。

解决方案 »

  1.   

    多謝樓上的這位,
    我看過了PostgreSQL的文檔,我當前用的版本是7.1,我看的文檔似乎沒有“聚合索引”這個部分,想請各位明示。
      

  2.   

    我現在想到了一種方法,即使用SEQUENCE來解決這個問題。但需要CREATE SENQUENCE。不知有沒有更好一點的辦法來解決這個問題?
      

  3.   

    用CREATE SENQUENCE是肯定可以的,但我不知楼主要记录号有目的,我想无非是要在网页上显示,或打印出报表及写入其它表
    我的一般处理是在程序中完成,只有一个变量(rec++),就可解决问题,只要是我提到的三种形式,都可以将该变量插入返回的记录中,如
      int rec=0;
      while (rs.next())
      {
       System.out.println (rec+","+rs.getString(1)+","+rs.getString(2)+...);
      }
      

  4.   

    少写了,应该是
    while (rs.next())
      {
       System.out.println (rec+","+rs.getString(1)+","+rs.getString(2)+...);
       rec++;
      }
      

  5.   

    keiy() 的方法很不错,受教了!!
      

  6.   

    To:keiy()
    3Q。
    其實整個問題是這樣的,我需要做一個非常復雜的聯合查詢,即很多的SQL語句得到的結果集再UNION起來。我使用
    sql1 UNION ALL sql2 ... ORDER BY orderByConditions
    的形式做的,但每一個小的結果集都有上述字段,如果在得到結果集之後再去處理這個這段的話,不僅費勁,而且也會降低程序的可讀性。
    現在想通過內置函數來得到這個屬性,不知可行否?
      

  7.   

    自己的问题还是得自己解决:问题已经使用复杂的SQL语句得到了解决。