Re: equivalent of oracle rank() in postgres - Mailing list pgsql-sql

From Greg Sabino Mullane
Subject Re: equivalent of oracle rank() in postgres
Date
Msg-id 31bf0e84213104473bc7c80d2b0a9fb3@biglumber.com
Whole thread Raw
In response to equivalent of oracle rank() in postgres  ("Chandan_Kumaraiah" <Chandan_Kumaraiah@satyam.com>)
List pgsql-sql
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


> Jus wanted the equivalent for rank() as in tis example..

> SELECT *
> FROM (
>   SELECT employee_id, last_name, salary,
>   RANK() OVER (ORDER BY salary DESC) EMPRANK
>   FROM employees)
> WHERE emprank = 3;

There is no direct equivalent to rank(), but there are certainly
other ways to get the results. The above query can be written in
PostgreSQL as:

SELECT employee_id, last_name, salary
FROM employees
WHERE salary =(SELECT DISTINCT salary FROM employees ORDER BY salary DESC OFFSET 2 LIMIT 1);

- --
Greg Sabino Mullane greg@turnstep.com
PGP Key: 0x14964AC8 200503212152
http://biglumber.com/x/web?pk=2529DF6AB8F79407E94445B4BC9B906714964AC8
-----BEGIN PGP SIGNATURE-----

iD8DBQFCP4hwvJuQZxSWSsgRAoKPAKDE0pB4NueE0Dh9EfJiXw79SvCDoACcC4xb
ydxVgK9DgGHQXJqFIrlHIIo=
=GRIX
-----END PGP SIGNATURE-----




pgsql-sql by date:

Previous
From: Scott Marlowe
Date:
Subject: Re: "Flattening" query result into columns
Next
From: Theo Galanakis
Date:
Subject: Re: C function extending postgres