[pgsql-jp: 30621] Re: order by でソートした順に番号を付けたい

moto kawasaki kawasaki @ kawasaki3.org
2003年 7月 28日 (月) 15:22:56 JST


From: SATOH Kiyoshi <satoh0 @ hakuba.jp>
Subject: [pgsql-jp: 30620] Re: order by でソートした順に番号を付けたい
Date: Mon, 28 Jul 2003 14:45:23 +0900
Message-ID: <20030728144130.B651.SATOH0 @ hakuba.jp>

satoh0> On Mon, 28 Jul 2003 14:25:45 +0900 (JST)
satoh0> moto kawasaki <kawasaki @ kawasaki3.org> wrote:
satoh0> Subject: [pgsql-jp: 30617] Re: order by でソートした順に番号を付けたい
satoh0> 
satoh0> > 実に安直ですが、
satoh0> > 
satoh0> > satoh0> カラムAで order by でソートし limit 3 で切り、その順位も出す。
satoh0> > satoh0> 順位 |  A | B
satoh0> > satoh0> -----+----+--
satoh0> > satoh0>    1 | 10 | d
satoh0> > satoh0>    2 | 20 | b
satoh0> > satoh0>    3 | 30 | a
satoh0> > 
satoh0> > こういう view をつくっておけばできますよね。
satoh0> 
satoh0>  PostgreSQL完全攻略ガイドでviewの説明に、PostgreSQLでは order by を含む 
satoh0> view は定義できません、とあったのですが、可能なのでしょうか。
satoh0>  平成11年の初版だから、現バージョンのだと可能なのかな…

実に安直にメイルを書いてしまってから、あれ?とおもって試したのですが、
僕の手元では大丈夫でした。(良かった ;-)

kawasaki=> select version();
                               version                               
---------------------------------------------------------------------
 PostgreSQL 7.3.2 on i386-portbld-freebsd4.8, compiled by GCC 2.95.4
(1 row)

kawasaki=> create table source (
kawasaki(>   number int,
kawasaki(>   label  char
kawasaki(> );
CREATE TABLE
kawasaki=> insert into source (number, label) values ( 30, 'a' );
INSERT 17046 1
kawasaki=> insert into source (number, label) values ( 20, 'b' );
INSERT 17047 1
kawasaki=> insert into source (number, label) values ( 40, 'c' );
INSERT 17048 1
kawasaki=> insert into source (number, label) values ( 10, 'd' );
INSERT 17049 1
kawasaki=> select * from source;
 number | label 
--------+-------
     30 | a
     20 | b
     40 | c
     10 | d
(4 rows)

kawasaki=> 
kawasaki=> create view tempview as select * from source order by number;
CREATE VIEW
kawasaki=> select * from tempview;
 number | label 
--------+-------
     10 | d
     20 | b
     30 | a
     40 | c
(4 rows)

kawasaki=> 

# それはそれとして、どうやったら順位番号を付けられるのかで悩んでしまった。

moto kawasaki <kawasaki @ kawasaki3.org>




pgsql-jp メーリングリストの案内