mirror of
https://github.com/jbranchaud/til
synced 2026-01-03 07:08:01 +00:00
Add Fetch Specific Number Of Results as a Postgres TIL
This commit is contained in:
@@ -10,7 +10,7 @@ pairing with smart people at Hashrocket.
|
||||
|
||||
For a steady stream of TILs, [sign up for my newsletter](https://crafty-builder-6996.ck.page/e169c61186).
|
||||
|
||||
_1524 TILs and counting..._
|
||||
_1525 TILs and counting..._
|
||||
|
||||
---
|
||||
|
||||
@@ -777,6 +777,7 @@ _1524 TILs and counting..._
|
||||
- [Escaping String Literals With Dollar Quoting](postgres/escaping-string-literals-with-dollar-quoting.md)
|
||||
- [Export Query Results To A CSV](postgres/export-query-results-to-a-csv.md)
|
||||
- [Extracting Nested JSON Data](postgres/extracting-nested-json-data.md)
|
||||
- [Fetch Specific Number Of Results](postgres/fetch-specific-number-of-results.md)
|
||||
- [Find Duplicate Records In Table Without Unique Id](postgres/find-duplicate-records-in-table-without-unique-id.md)
|
||||
- [Find Records That Contain Duplicate Values](postgres/find-records-that-contain-duplicate-values.md)
|
||||
- [Find Records That Have Multiple Associated Records](postgres/find-records-that-have-multiple-associated-records.md)
|
||||
|
||||
42
postgres/fetch-specific-number-of-results.md
Normal file
42
postgres/fetch-specific-number-of-results.md
Normal file
@@ -0,0 +1,42 @@
|
||||
# Fetch Specific Number Of Results
|
||||
|
||||
If you pull up just about any intro to PostgreSQL (or even SQL), one of the
|
||||
first things they are going to teach you is the `limit` clause. This is taught
|
||||
as _the_ way for limiting the result set to a specific number of rows.
|
||||
|
||||
```sql
|
||||
> select title from books limit 4;
|
||||
+-----------------------+
|
||||
| title |
|
||||
|-----------------------|
|
||||
| The Secret History |
|
||||
| A Gentleman in Moscow |
|
||||
| Exhalation: Stores |
|
||||
| Annihilation |
|
||||
+-----------------------+
|
||||
SELECT 4
|
||||
```
|
||||
|
||||
You might be as surprised as I was to learn that `limit` is not part of the SQL
|
||||
standard. It is extremely common for this use case, but the SQL standard
|
||||
defines `fetch first N rows only` as the way to fetch a specific number of
|
||||
rows. As we can see, [it works identically to `limit
|
||||
N`](https://www.postgresql.org/docs/current/sql-select.html#SQL-LIMIT).
|
||||
|
||||
```sql
|
||||
> select title from books fetch first 4 rows only;
|
||||
+-----------------------+
|
||||
| title |
|
||||
|-----------------------|
|
||||
| The Secret History |
|
||||
| A Gentleman in Moscow |
|
||||
| Exhalation: Stores |
|
||||
| Annihilation |
|
||||
+-----------------------+
|
||||
SELECT 4
|
||||
```
|
||||
|
||||
The `rows` and `row` keywords are interchangeable which makes statements more
|
||||
readable if, for instance, you're doing `... fetch first 1 row only`.
|
||||
|
||||
[source](https://www.cybertec-postgresql.com/en/postgresql-limit-vs-fetch-first-rows-with-ties/)
|
||||
Reference in New Issue
Block a user