2000-01-09 04:48:39 +01:00
|
|
|
--
|
|
|
|
-- LIMIT
|
|
|
|
-- Check the LIMIT/OFFSET feature of SELECT
|
|
|
|
--
|
2010-11-23 21:27:50 +01:00
|
|
|
SELECT ''::text AS two, unique1, unique2, stringu1
|
|
|
|
FROM onek WHERE unique1 > 50
|
1999-02-08 15:14:32 +01:00
|
|
|
ORDER BY unique1 LIMIT 2;
|
2000-01-09 04:48:39 +01:00
|
|
|
two | unique1 | unique2 | stringu1
|
|
|
|
-----+---------+---------+----------
|
|
|
|
| 51 | 76 | ZBAAAA
|
|
|
|
| 52 | 985 | ACAAAA
|
1999-02-08 15:14:32 +01:00
|
|
|
(2 rows)
|
|
|
|
|
2010-11-23 21:27:50 +01:00
|
|
|
SELECT ''::text AS five, unique1, unique2, stringu1
|
|
|
|
FROM onek WHERE unique1 > 60
|
1999-02-08 15:14:32 +01:00
|
|
|
ORDER BY unique1 LIMIT 5;
|
2000-01-09 04:48:39 +01:00
|
|
|
five | unique1 | unique2 | stringu1
|
|
|
|
------+---------+---------+----------
|
|
|
|
| 61 | 560 | JCAAAA
|
|
|
|
| 62 | 633 | KCAAAA
|
|
|
|
| 63 | 296 | LCAAAA
|
|
|
|
| 64 | 479 | MCAAAA
|
|
|
|
| 65 | 64 | NCAAAA
|
1999-02-08 15:14:32 +01:00
|
|
|
(5 rows)
|
|
|
|
|
2010-11-23 21:27:50 +01:00
|
|
|
SELECT ''::text AS two, unique1, unique2, stringu1
|
1999-02-08 15:14:32 +01:00
|
|
|
FROM onek WHERE unique1 > 60 AND unique1 < 63
|
|
|
|
ORDER BY unique1 LIMIT 5;
|
2000-01-09 04:48:39 +01:00
|
|
|
two | unique1 | unique2 | stringu1
|
|
|
|
-----+---------+---------+----------
|
|
|
|
| 61 | 560 | JCAAAA
|
|
|
|
| 62 | 633 | KCAAAA
|
1999-02-08 15:14:32 +01:00
|
|
|
(2 rows)
|
|
|
|
|
2010-11-23 21:27:50 +01:00
|
|
|
SELECT ''::text AS three, unique1, unique2, stringu1
|
|
|
|
FROM onek WHERE unique1 > 100
|
1999-02-08 15:14:32 +01:00
|
|
|
ORDER BY unique1 LIMIT 3 OFFSET 20;
|
2000-01-09 04:48:39 +01:00
|
|
|
three | unique1 | unique2 | stringu1
|
|
|
|
-------+---------+---------+----------
|
|
|
|
| 121 | 700 | REAAAA
|
|
|
|
| 122 | 519 | SEAAAA
|
|
|
|
| 123 | 777 | TEAAAA
|
1999-02-08 15:14:32 +01:00
|
|
|
(3 rows)
|
|
|
|
|
2010-11-23 21:27:50 +01:00
|
|
|
SELECT ''::text AS zero, unique1, unique2, stringu1
|
|
|
|
FROM onek WHERE unique1 < 50
|
1999-02-08 15:14:32 +01:00
|
|
|
ORDER BY unique1 DESC LIMIT 8 OFFSET 99;
|
2000-01-09 04:48:39 +01:00
|
|
|
zero | unique1 | unique2 | stringu1
|
|
|
|
------+---------+---------+----------
|
1999-02-08 15:14:32 +01:00
|
|
|
(0 rows)
|
|
|
|
|
2010-11-23 21:27:50 +01:00
|
|
|
SELECT ''::text AS eleven, unique1, unique2, stringu1
|
|
|
|
FROM onek WHERE unique1 < 50
|
1999-02-08 15:14:32 +01:00
|
|
|
ORDER BY unique1 DESC LIMIT 20 OFFSET 39;
|
2000-01-09 04:48:39 +01:00
|
|
|
eleven | unique1 | unique2 | stringu1
|
|
|
|
--------+---------+---------+----------
|
|
|
|
| 10 | 520 | KAAAAA
|
|
|
|
| 9 | 49 | JAAAAA
|
|
|
|
| 8 | 653 | IAAAAA
|
|
|
|
| 7 | 647 | HAAAAA
|
|
|
|
| 6 | 978 | GAAAAA
|
|
|
|
| 5 | 541 | FAAAAA
|
|
|
|
| 4 | 833 | EAAAAA
|
|
|
|
| 3 | 431 | DAAAAA
|
|
|
|
| 2 | 326 | CAAAAA
|
|
|
|
| 1 | 214 | BAAAAA
|
|
|
|
| 0 | 998 | AAAAAA
|
1999-02-08 15:14:32 +01:00
|
|
|
(11 rows)
|
|
|
|
|
2010-11-23 21:27:50 +01:00
|
|
|
SELECT ''::text AS ten, unique1, unique2, stringu1
|
1999-02-08 15:14:32 +01:00
|
|
|
FROM onek
|
|
|
|
ORDER BY unique1 OFFSET 990;
|
2000-01-09 04:48:39 +01:00
|
|
|
ten | unique1 | unique2 | stringu1
|
|
|
|
-----+---------+---------+----------
|
|
|
|
| 990 | 369 | CMAAAA
|
|
|
|
| 991 | 426 | DMAAAA
|
|
|
|
| 992 | 363 | EMAAAA
|
|
|
|
| 993 | 661 | FMAAAA
|
|
|
|
| 994 | 695 | GMAAAA
|
|
|
|
| 995 | 144 | HMAAAA
|
|
|
|
| 996 | 258 | IMAAAA
|
|
|
|
| 997 | 21 | JMAAAA
|
|
|
|
| 998 | 549 | KMAAAA
|
|
|
|
| 999 | 152 | LMAAAA
|
1999-02-08 15:14:32 +01:00
|
|
|
(10 rows)
|
|
|
|
|
2010-11-23 21:27:50 +01:00
|
|
|
SELECT ''::text AS five, unique1, unique2, stringu1
|
1999-02-08 15:14:32 +01:00
|
|
|
FROM onek
|
|
|
|
ORDER BY unique1 OFFSET 990 LIMIT 5;
|
2000-01-09 04:48:39 +01:00
|
|
|
five | unique1 | unique2 | stringu1
|
|
|
|
------+---------+---------+----------
|
|
|
|
| 990 | 369 | CMAAAA
|
|
|
|
| 991 | 426 | DMAAAA
|
|
|
|
| 992 | 363 | EMAAAA
|
|
|
|
| 993 | 661 | FMAAAA
|
|
|
|
| 994 | 695 | GMAAAA
|
1999-02-08 15:14:32 +01:00
|
|
|
(5 rows)
|
|
|
|
|
2010-11-23 21:27:50 +01:00
|
|
|
SELECT ''::text AS five, unique1, unique2, stringu1
|
1999-02-08 15:14:32 +01:00
|
|
|
FROM onek
|
2001-10-20 04:55:39 +02:00
|
|
|
ORDER BY unique1 LIMIT 5 OFFSET 900;
|
2000-01-09 04:48:39 +01:00
|
|
|
five | unique1 | unique2 | stringu1
|
|
|
|
------+---------+---------+----------
|
|
|
|
| 900 | 913 | QIAAAA
|
|
|
|
| 901 | 931 | RIAAAA
|
|
|
|
| 902 | 702 | SIAAAA
|
|
|
|
| 903 | 641 | TIAAAA
|
|
|
|
| 904 | 793 | UIAAAA
|
1999-02-08 15:14:32 +01:00
|
|
|
(5 rows)
|
|
|
|
|
2007-05-17 21:35:08 +02:00
|
|
|
-- Stress test for variable LIMIT in conjunction with bounded-heap sorting
|
|
|
|
SELECT
|
|
|
|
(SELECT n
|
|
|
|
FROM (VALUES (1)) AS x,
|
|
|
|
(SELECT n FROM generate_series(1,10) AS n
|
|
|
|
ORDER BY n LIMIT 1 OFFSET s-1) AS y) AS z
|
|
|
|
FROM generate_series(1,10) AS s;
|
|
|
|
z
|
|
|
|
----
|
|
|
|
1
|
|
|
|
2
|
|
|
|
3
|
|
|
|
4
|
|
|
|
5
|
|
|
|
6
|
|
|
|
7
|
|
|
|
8
|
|
|
|
9
|
|
|
|
10
|
|
|
|
(10 rows)
|
|
|
|
|